Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] prośba o wytłumaczenie krótkiego kodu
Forum PHP.pl > Forum > Przedszkole
Majzel
  1. <?php
  2. /*********************************************
  3.   Zapytanie bazy danych odczytujące wynik ankiety
  4. *********************************************/
  5.  
  6. // pobranie głosu z formy
  7. $glos=$_POST['glos'];
  8.  
  9. // zalogowanie w bazie danych
  10. if(!$bd_polacz=new mysqli('localhost', 'root', '', 'ankieta'))
  11. {
  12. echo 'Połączenie z bazą danych nieudane<br />';
  13. };
  14.  
  15. if(!empty($glos)) // jeżeli formularz został wypełniony, dodanie głosu
  16. {
  17. $glos=addslashes($glos);
  18. $zapytanie="update wyniki_ankiety
  19. set ilosc_glosow = ilosc_glosow + 1
  20. where kandydat = '$glos'";
  21. if(!($wynik=@$bd_polacz->query($zapytanie)))
  22. {
  23. echo 'Połączenie z bazą danych nieudane<br />';
  24. }
  25. };
  26.  
  27. // pobranie aktualnych wyników ankiety, niezależnie od faktu głosowania
  28. $zapytanie='select * from wyniki_ankiety';
  29. if(!($wynik=@$bd_polacz->query($zapytanie)))
  30. {
  31. echo 'Połączenie z bazą danych nieudane<br />';
  32. };
  33. $ilosc_kandydatow=$wynik->num_rows; //pobiera z bazy ile jest kandydatów
  34.  
  35. // obliczenie całkowitej liczby głosów
  36. $ilosc_glosow=0;
  37. while ($rzad=$wynik->fetch_object())
  38. {
  39. $ilosc_glosow+=$rzad->ilosc_glosow;
  40. }
  41. $wynik->data_seek(0); // wyzerowanie wskaźnika wyniku
  42. ?>


To jest kawałek kodu ankiety, a co oznacza ten kod:

  1. <?php
  2. // obliczenie całkowitej liczby głosów
  3. $ilosc_glosow=0;
  4. while ($rzad=$wynik->fetch_object())
  5. {
  6. $ilosc_glosow+=$rzad->ilosc_glosow;
  7. }
  8. $wynik->data_seek(0); // wyzerowanie wskaźnika wyniku
  9. ?>


myślałem, myślałem, ale niestety jeszcze nie jestem zbyt dobry w programowaniu i nie umiem jakoś tego załapać, możecie mi powiedzieć jakie zadanie ma powyższy kod, tzn. jak on działa, bo jakie zadanie on ma to wiem (obliczenie całkowitej liczby głosów). Co to jest ta zmienna rzad, ogólnie jak działa ten kod.
Z góry dzięki.
nitek
$rzad, to obiekt, ktory zawiera kolejne wiersze z zapytania.. w petli masz dodawanie kolejnych wartosci z tego obiektu do zmiennej $ilosc_glosow.

nie wiem tylko, po co w tym kodzie jest data_seek? nie uzywa sie tego przy mysql_fetch_object z tego co wiem, tylko przy mysqL-fetch_assoc..

ogólnie to poczytaj sobie o tych funkcjach na php.net, a będziesz wiedział wszystko...
Majzel
ok dzięki, bez data_seek(0) skrypt nie działa tak jak powinien, ale też nie wiem po co jest ta funkcja w tym skrypcie
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.