10. august 2007 - 15:10Der er
17 kommentarer og 1 løsning
Rate Script
Jeg er ved at lave et rate scipt. Jeg har en hovedside hvorfra man så kan vælge det man synes er spændende og kigger nærmere og evt. give en karakter.
Mit problem består i at koden som kommer om lidt virker fint hvis man er inde på siden hvor man kan give karakter og så sletter sin cache, session osv, men hvis jeg starter på siden som linker til de sider man kan rate støder jeg på et problem. Når jeg klikker mig ind på en underside halvere den uanset hvad man stemme sidens samlede karakter. Kan simpelthen ikke se fejlen. Har nogle radio buttons med værdi (0-100): <input type=\"radio\" name=\"vote\" value=\"0\"> <input type=\"radio\" name=\"vote\" value=\"10\"> osv.
Din formen for at beregne gennemsnittet af stemmerne er forkert. Faktisk kan du slet ikke gøre det på den måde du prøver - for at finde gennemsnittet er man nemlig nødt til at have to tal: antallet af stemmer samt summen af alle stemmerne.
Du er derfor nødt til at modifisere din tabel. Du har to muligheder:
1) Enten laver du en tabel med to felter "stemmeAntal" og "stemmeSum". Dem opdatere du så ved hver stemme.
2) Du kan have en tabel med et felt "stemme". Du kan så tilføge en *ny* række til denne for hvre stemme. Derefter udnytter du at der findes en SQL funktion som kan udtrække gennemsnittet - de hedder AVG:
$sql = "SELECT AVG(stemme) AS stemmGennemsnit FROM dinTabel WHERE test_id = '" . mysql_real_escape_string( $_GET['id'] ) . "'";
Har også en kolonne i min tabel der registerer hvor mange der har stemt, men ville gøre koden så simpel og overskuelig for jer.
Og angående gennemsnit ved jeg ikke helt hvad jeg tænkte på. Troede jeg var smart og kunne slippe for at gemme den samlede rating. Tror det er varmen :)
Har lavet overstående gardering så den ikke vil dividere med 0, men når jeg udskriver tmpres er den nul hver gang. Også hvis jeg bare prøver at dividere $row->rating / $row->antal_rating får jeg en fejl med at jeg dividere med nul selvom jeg kan se i db'en at rating er 530 og antal_rating er 11??? Nogen ideer hvad jeg gør galt
De værdier du opgever i 10/08-2007 16:29:03 er ikke de samme som i 10/08-2007 16:22:34 - men det er vel bare fordi at du har lavet en prøve-afstemning?
jep har stemt en gang imellem dem, men forstår ikke at tmpres udskrives som 0 hver gang. echo "DEBUG: $tmpres<br>"; til sidst giver 0, så hvor går det galt?
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.