Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] prośba o wytłumaczenie krótkiego kodu
Majzel
post 15.03.2008, 08:33:54
Post #1





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 3.07.2007

Ostrzeżenie: (0%)
-----


  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.
Go to the top of the page
+Quote Post
nitek
post 15.03.2008, 08:54:10
Post #2





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

Ostrzeżenie: (0%)
-----


$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...


--------------------
Go to the top of the page
+Quote Post
Majzel
post 15.03.2008, 09:05:31
Post #3





Grupa: Zarejestrowani
Postów: 110
Pomógł: 0
Dołączył: 3.07.2007

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 8.07.2025 - 22:08