login  Naam:   Wachtwoord: 
Registreer je!
 Forum

onverwachte uitvoer

Offline arneman - 24/07/2009 14:10
Avatar van arnemanNieuw lid Ik heb een soort systeem gemaakt waarbij je kan stemmen. Die stemmen worden dan uit de tabel tutorials_votes gehaald.
Hier zit echter maar 1 stem in en dit voor het 5e record van de tutorials. Het volgende record krijgt ook automatisch 5 punten terwijl dit niet in de tabel votes staat. Heel raar.

Code staat hier :

Plaatscode: 137213

3 antwoorden

Gesponsorde links
Offline Martijn - 24/07/2009 15:32
Avatar van Martijn Crew PHP je hebt allemaal fetch-es in whiles staan, haal je 1 regel op, of meerdere? Een while is namelijk voor meerdere regels, maar daar is je code niet geschikt voor (nu krijgt $id etc altijd de laatste waarde uit de query)
Offline arneman - 24/07/2009 18:24 (laatste wijziging 24/07/2009 18:28)
Avatar van arneman Nieuw lid Binnen de 1e while haal ik alle tutorials op. Dan zou ik vervolgens voor elke tutorial alle stemmen moeten optellen en het gemiddelde berekenen, wat dit doet volgens mij.

Ik heb 6 records in de tabel tutorials en enkel op record 5 is er gestemd. Als ik dit echo krijg ik het volgende te zien:

0 0 0 0 5 5

Code:
  1. $qu = 'SELECT post, avg(grade) AS gem FROM tutorials_votes GROUP BY post HAVING post="'.$id.'"';
  2. $re = mysql_query($qu) or die(mysql_error());
  3. while($j = mysql_fetch_array( $re )) {
  4. $gem = $j['gem'];
  5. }
  6.  
  7. $gem = ceil($gem);
  8.  
  9. echo '<tr><td>'.$gem.'</td></tr>';


Ik heb ook onderaan de code dit gezet, maar het helpt niet:

  1. unset($gem);
Offline Martijn - 24/07/2009 18:59 (laatste wijziging 24/07/2009 19:00)
Avatar van Martijn Crew PHP en wat echo je dan?

en nogmaals, je hebt een while, maar $gem zal altijd de laatste waarde overnemen, omdat je m in die while steeds overschrijft. Elk while rondje krijgt ie opnieuw je $fetch waarde
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.198s