Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Ankieta php mysql
Forum PHP.pl > Forum > Przedszkole
maras_
Witam. Mam taki problem gdy kliknę na jedną z opcji glosowania wydaje się, że wszystko jest w porządku ponieważ dostaje komunikat że głos został dodany. Jednak gdy chce sprawdzić wynik głosowania wyświetla się
  1. Division by zero in D:\Program Files\wamp\www\zobacz.php on line 18
więc przypuszczam, że głos nie został dodany. Poniżej zamieszczam kod do otworzenia wyników.
  1. <?php
  2. $polaczenie=mysql_connect('localhost','marek','marek123','sonda');
  3. mysql_select_db("sonda",$polaczenie);
  4. $rezultat=mysql_query("select * from sonda");
  5. $glosy=mysql_fetch_array($rezultat);
  6. $suma_glosow=0;
  7. for ($odp=1;$odp<=3;$odp++)
  8. $suma_glosow=$suma_glosow+$glosy["odp".$odp];
  9. for ($odp=1;$odp<=3;$odp++)
  10. $procent[$odp]=round(($glosy["odp".$odp]/$suma_glosow)*100);
  11. $tekst_odp[1]="Tak";
  12. $tekst_odp[2]="Nie";
  13. $tekst_odp[3]="Przeciętna";
  14. echo "<h3>Wyniki sondy</h3><br>";
  15. echo "<table border=0>";
  16. for ($odp=1;$odp<=3;$odp++)
  17. echo "<tr><td><p>".$tekst_odp[$odp].
  18. ":</p></td><td><p> ".$glosy["odp".$odp].
  19. " - ".$procent[$odp].
  20. " %</p></td><td><img src=pasek.gif height=20 width=".
  21. ($procent[$odp]*5)."></td></tr>";
  22. echo "</table>";
  23. mysql_close($polaczenie);
  24. ?>


niżej kod do dodawania głosów
  1. <?php
  2. if ($_COOKIE["sonda"]<>"1")
  3. {
  4. $czydodacglos="mozna";
  5. }
  6. else
  7. $czydodacglos="niemozna";
  8. ?>
  9. <?php
  10. if ($czydodacglos=="mozna")
  11. {
  12. $odp=$_POST["odp"];
  13. $polaczenie=
  14. mysql_connect('localhost','marek','marek123','sonda');
  15. mysql_select_db("sonda",$polaczenie);
  16. $rezultat=mysql_query("SELECT odp".$odp." from sonda",$polaczenie);
  17. $wartosc=mysql_fetch_array($rezultat);
  18. $liczba=$wartosc["odp".$odp];
  19. $liczba+=1;
  20. $sql=mysql_query("UPDATE sonda SET odp".$odp."=".$liczba,$polaczenie);
  21. echo "<p>Dodano głos!</p>";
  22. mysql_close($polaczenie);
  23. }
  24. else
  25. echo "<p>Głos już został oddany!</p>";
  26. ?>
Fifi209
A nie możesz po prostu sprawdzić czy wpis jest dodawany...? (phpMyAdmin albo w konsolce)
maras_
Nie wpadłem na to tongue.gif Ale jak widze nie jest dodawany.
Fifi209
Tu:
  1. if ($_COOKIE["sonda"]<>"1")


Ma być raczej operator !=
maras_
Niestety nie. Już 2 raz mam problem z tą ankietą wcześniej wszystko działało elegancko a teraz nie mam pojęcia co się stało..
nospor
Cytat
Nie wpadłem na to
Nie wpadles na wiele rzeczy.

jak robisz mysql_query to sprawdzaj czy sie ono powiodlo czy nie a nie walisz komunikat ze sie dodano.
Jak sie nie powiodlo to walnij sobie mysql_error() i sie dowiesz co poszlo nie tak.

Cytat
Division by zero
Kolejna bystra rzecz... zanim zaczniesz dzielic to sprawdź czy wogole jest co dzielic.

przenosze
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.