IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Hodnocení pomocí hvězdiček

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Zdeněk Pavlátka:28.1.2014 17:05

Potřeboval bych poradit s tvorbou hodnocení aplikací na svých stránkách. Mohl by mi to prosím někdo vysvětlit? Na googlu jsem našel jen příšerné ukázky kódu bez pořádného popisu.

Odpovědět
28.1.2014 17:05
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Filip Pýrek
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Filip Pýrek:28.1.2014 17:10

A čemu že to přesně nerozumíš?

Nahoru Odpovědět
28.1.2014 17:10
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Odpovídá na Filip Pýrek
Zdeněk Pavlátka:28.1.2014 17:12

Jak je umístit na stránku, aby se měnily při najetí myší a volba se odeslala na server.
Edit: S uložením hlasu do databáze a získáním průměru z hlasů při generování stránky bych neměl problém.

Editováno 28.1.2014 17:13
Nahoru Odpovědět
28.1.2014 17:12
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Juraj Mlich
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Juraj Mlich:28.1.2014 17:14

JavaScript/jQuery a AJAX :) pri "najetí" myši na hviezdičku zmeníš src obrázku alebo nehradíš celý obrázok ... a pri kliknutí to odošleš ajaxom - http://api.jquery.com/jquery.ajax/ (alebo normálne pomocou presmerovania)

 
Nahoru Odpovědět
28.1.2014 17:14
Avatar
Michal Žůrek - misaz:28.1.2014 17:15

místo obrázku, můžeš použít obrázkové fonty, půjde ten hover napsat i v CSS.

 
Nahoru Odpovědět
28.1.2014 17:15
Avatar
Odpovídá na Juraj Mlich
Zdeněk Pavlátka:28.1.2014 17:17

Trochu podrobněji by to nešlo?

Nahoru Odpovědět
28.1.2014 17:17
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Filip Pýrek
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Filip Pýrek:28.1.2014 17:17

Vložíš si vedle sebe hvězdičky(třeba divy) a ještě jim dáš atribut data-rating="1,2,3 etc.". Při najetí na hvězdičku stačí zjistit jaký má ta hvezdička rating a podle toho to vykreslit. Potom při kliknutí se pomocí ajaxu odešlou data do php souboru(dál si to musíš nějak zabezpečit)

Editováno 28.1.2014 17:18
Nahoru Odpovědět
28.1.2014 17:17
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Honza Bittner:28.1.2014 17:17

Máš, nejčastěji, 5 hvězdiček. Ty chceš, aby když klikneš na 4. hvězdu, tak aby byly změněné všechny 4. To asi v CSS nepůjde, proto musíš využít JS.

To uděláš tak, že vlastně ty hvězdičky mají v nějakém <div class="hodnoceni"> svůj index, takže když šáhneš na 4., index máš 3 (počítá se samozřejmě od 0) a jen stačí změnit obrázek všem hvězdám co mají index <= 3.

Po kliku na hvězdu se ti odešle třeba ten index + 1 a uloží se ke článku. :)

Takto nějak bych to udělal já. :)

Editováno 28.1.2014 17:19
Nahoru Odpovědět
28.1.2014 17:17
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Odpovídá na Honza Bittner
Zdeněk Pavlátka:28.1.2014 17:20

A ten AJAX se používá jak? Nikdy jsem ho nepoužíval.

Nahoru Odpovědět
28.1.2014 17:20
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Juraj Mlich
Zdeněk Pavlátka:28.1.2014 17:23

Z toho to vůbec nechápu.

Nahoru Odpovědět
28.1.2014 17:23
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Honza Bittner:28.1.2014 17:26

Co dělá AJAX :

Vlastně ty máš nějaký PHP na serveru, a JS pro klienta.
Ale můžeš v JS zavolat AJAXem nějaký script na serveru a třeba vytáhnout z databáze po kliku na tlačítko nějaký text nebo tak.

Nahoru Odpovědět
28.1.2014 17:26
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Honza Bittner:28.1.2014 17:26

Pak někdy ukážu základy AJAXu přes jQuery :)

Nahoru Odpovědět
28.1.2014 17:26
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Filip Pýrek
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Filip Pýrek:28.1.2014 17:29
$.ajax({
  type: "POST",
  url: "adresa php souboru",
  data: {pocetHvezdicek:4, dalsidata:"..."},
  success: function(){
             window.alert("Váš hlas byl zaznamenán")ů
      }
});
Editováno 28.1.2014 17:29
Nahoru Odpovědět
28.1.2014 17:29
„The best way to predict the future is to invent it.“ — Alan Kay
Avatar
Odpovídá na Honza Bittner
Zdeněk Pavlátka:28.1.2014 17:29

Takže něco na styl

var request = $.ajax({
  url: "PHP/rate.php",
  type: "POST",
  data: { starId : 4 }
});

?

Nahoru Odpovědět
28.1.2014 17:29
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Nahoru Odpovědět
28.1.2014 17:30
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Zdeněk Pavlátka
Honza Bittner:28.1.2014 17:31

Tak nějak, v PHP si jen načteč to starId a s tím pak pracuješ. :)

Dělá se to nejlépe tak, aby to vše běželo i bez JS, tzn. když je JS zaplý, udělá se to přes AJAX, když ne, udělá se to s reloadem stránky. :)

Nahoru Odpovědět
28.1.2014 17:31
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Odpovídá na Honza Bittner
Zdeněk Pavlátka:28.1.2014 17:33

To už je na mě moc složité. :D

Nahoru Odpovědět
28.1.2014 17:33
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
Odpovídá na Honza Bittner
Zdeněk Pavlátka:28.1.2014 17:49

Ještě otázka mimo téma - Jak vyřešit počet stažení aplikace?

Nahoru Odpovědět
28.1.2014 17:49
Kolik jazyků umíš, tolikrát jsi programátor.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 19 zpráv z 19.