Creați un procesor de rating în formă de stele

Ei bine, am corecta acest defect.

Deci, în primul rând să ne definim structura bazei de date. Desigur, puteți utiliza un tabel existent în baza de date, care stochează toate notele, dar eu sunt în acest exemplu va crea un nou tabel, care va conține un total de 4 câmpuri.







  • note id - id;
  • numele - numele notei;
  • vot - punctajul mediu global pentru articol;
  • alegătorii - numărul de voturi.

Pentru a crea un tabel de care aveți nevoie pentru a efectua următoarele SQL-interogare:

Dacă aveți deja un tabel care stochează note, trebuie să se adauge două noi domenii: vot și alegătorii.

Acum puteți adăuga un test de informații în baza de date:

Odată ce baza de date are mai multe intrări de date, acestea pot fi afișate pe o pagină a listei. Făcând clic pe una dintre ele, utilizatorul este dus la o anumită pagină de știri, în cazul în care acesta se va cere să evaluați articolul.

Din moment ce lucrăm cu baza de date, vom crea mai întâi cea mai simplă clasă de a lucra cu baza de date. Pentru a face acest lucru, creați db.class.php fișier și a pus următorul cod php:

Se spune că această clasă de constructor este declarat ca fiind private. astfel încât obiectul nu poate fi creată în afara clasei, și inițializarea este posibilă numai dintr-o metodă de inițializare statică (). El ia o serie de opțiuni de conexiune cu MySQL și creează o instanță a clasei, care este conținut într-o variabilă de sine :: $ instanță statică. Acest lucru asigură existența unei singure conexiuni la baza de date la un anumit moment în timp.

Restul clasei, efectua interogări de baze de date, bazat pe interogarea metoda statica ().

Pentru mai multe informații despre programarea orientată pe obiecte în PHP poate fi citit aici. aici și aici.

Dacă se dorește, puteți modifica această clasă, așa cum ai nevoie de ea!

Pentru a afișa o listă de articole pe pagina, trebuie să creați această pagină. Pentru a face acest lucru, creați un fișier articles.php și plasați cel mai simplu șablon pagină HTML:

Acum, în fișierul articles.php începe adăugați următorul cod:

Un pic de explicație. Primul lucru pe care am stabilit parametrii de bază de conectare la baza de date MySQL, și apoi conectați clasa de a lucra cu datele bazei de date db.class.php. am creat mai sus. Apoi conectați la baza de date folosind o metodă de inițializare statică (clasa DB).

Odată ce o conexiune bază de date este stabilită, verificați dacă parametrul GET id trecut. În cazul în care este trecut, apoi face o selecție din baza de date și de a obține informații despre articolul dorit, sau afișează o listă de articole.







În cazul în care baza de date este nici o notă cu ID-ul specificat, atunci vom obține o eroare 404.

Acum se bazează pe datele necesare primite pentru a genera necesare html-marcare.

toate doar aici. La început este verificat dacă există o listă de articole care bucle prin matrice $ articole și să formeze link-urile de pe pagină.

Dacă deschideți o anumită pagină de știri, că obținem numele articolului și forma html-markup pentru clasarea în formă de stele.

Asta înseamnă că toate câmpurile pe care le puteți citi aici. Acolo veți găsi setările de bază ale plugin-ului.

Dacă nu există date, mesajul că baza de date Nu există note.

După ce au format elementele de limbaj HTML, să ne amintim modul în care rating-ul este conectat sub forma de stele de pe site.

Primul lucru pe care trebuie să conectați biblioteca jQuery și plugin-ul jquery.rating.js la pagina unde va fi plasat ratingul. Acest lucru se poate face după cum urmează:

Acest cod ar trebui să fie plasat între etichetele în șablonul nostru.

Faptul, care trebuie să fie conectat la magazia Google jQuery poate fi citit aici.

De asemenea, pentru funcționarea corectă a plugin-ului, trebuie să vă conectați următoarele stiluri:

Cateva cuvinte despre ceea ce am scris aici.

Dacă ați observat, markup HTML pentru clasament ați introdus pe site-ul dvs. are un id egal cu id = „Evaluarea“. Știind acest lucru, putem folosi id-ul pentru ca blocul nostru plug-in, care este ceea ce facem. .. Aceasta este, după cum urmează:

semnul diez înseamnă că elementul este selectat de identitate. Cine nu este în subiect se poate citi articolul „Ce este jQuery? Prima cunoștință! "

Plugin-ul are câteva setări, despre care am scris aici. În acest exemplu, am numit plug-in cu următorii parametri:

Deci, atunci când se încarcă pagina, plugin-ul se va aplica la unitatea noastră cu setările specificate. Acum, când utilizatorul face clic pe steaua de la pagina vote.php va fi trimis la cererea AJAX, cu rezultatul votului.

Deci, pasul următor avem nevoie pentru a crea un handler fișier vote.php rezultate de vot.

Rezultatul votului este transmis la server și metoda POST este stocată în $ _POST variabilă [ „scor“]. De asemenea, serverul va fi dat un identificator unic Zamek, pe care am arătat într-un câmp ascuns:

Numai că în loc voteID Trebuie să înlocuiți valoarea dvs. unic ID-ul pentru care va veni din baza de date eșantion. În exemplul nostru, în loc voteID articol id $ post [ 'id'] substituit.

Știind toate aceste date, ele pot fi prelucrate și înregistrate în baza de date, actualizarea astfel nota de rating.

Să creeze un handler vote.php rezultatele votării și plasați codul următor:

De asemenea, am subliniat mai întâi toți parametrii conexiunii bazei de date, conectați clasa pentru a lucra cu baza de date și setați conexiunea bazei de date, utilizați init metoda statică (clasa DB).

După toate principalii parametri sunt stabilite și se stabilește conexiunea bazei de date, dar există o verificare dacă datele transmise către handler-ul nostru, la toate.

Și, în cele din urmă, toate datele sunt convertite la obiect JSON și afișat în browser.

Evaluează acest articol:

Cum de rating

Cursul „PHP 3 săptămâni“ - este un sistem complet integrat de formare în limbajul de programare PHP pentru incepatori.

Cu sistemul nostru nou, dar a dovedit deja, zeci de oameni au devenit reale PHP-programatori timp de 3 săptămâni!