Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pętla przechodzi tylko 1 zamiast 100 ...
Forum PHP.pl > Forum > Przedszkole
mefistofeles
Mam skrypcik który pobiera sobie 100 słów z bazy.

Problem polega na tym, że chciałbym wykonać po kolei na każdym słowie
pewne operacje (modyfikacja tego slowa) i zapisać je ponownie w bazie i tak
po kolei 100 razy, ale skrypt który napisałem nie robi tego 100 razy
tylko dodaje pierwsze słowo i przestaje działać.


  1. $sql = 'SELECT nazwa FROM `slowa` WHERE 101 > id > 0' ;
  2.  
  3. $result = mysql_query($sql);
  4.  
  5.  
  6. if(mysql_num_rows($result) > 0) {
  7.  
  8.  
  9. while($row123 = mysql_fetch_assoc($result))
  10.  
  11. {
  12.  
  13. Dodanie do bazy danej wartości (zmodyfikowane słowo);
  14.  
  15. }
  16. }




Co jest nie tak?

Bardzo proszę o pomoc.
Fantazyn
A sprawdź czy na pewno dostajesz 100 wyników a nie jednego (bo może masz złe zapytanie):

  1. $num_rows = mysql_num_rows($result);
  2.  


edit: znaczy wyświetl wartość
lukasz_os
1. Ile wierszy masz w bazie danych? Pętla się wykona tyle razy ile wierszy masz w tabeli.
2. Nie korzystaj w klauzuli where z < i > tylko daj BETWEEN
  1. SELECT nazwa FROM `slowa` WHERE id BETWEEN 1 AND 101;
nospor
Cytat
Dodanie do bazy danej wartości (zmodyfikowane słowo);
a czy przypadkiem pod tym tekstem nie kryje się kod mniej wiecej taki:
$result = mysql_query....
?
Bo jak tak to nadpisujesz $result ktore jest wykorzystwane do petli winksmiley.jpg
Rozwiązanie:
$result2 = mysql_query....
mefistofeles
1.Co do wyników to na pewno jest ich 100.
2.W bazie mam tysiace wierszy dlatego ograniczylem to do 100 ale i tak przechodzi tylko raz.
3. Co do klauzuli zamiast < i > BETWEEN to pewnie racja no ale w tym momencie to dziala a problem leży gdzie indziej.
4. Co do result... zmienilem na wszelki wypadek naresultx itd. ale ciągle przechodzi tylko raz ...

A tam gdzie napisalem ze jest dodawane zmodyfikowane slowo do bazy to jest jeszcze curl i dosyć dużo kodu, ale ogólnie
to działa tylko czemu nie wykonuje się dla każdego rekordu tylko dla pierwszego ?
nospor
Cytat
Co do result... zmienilem na wszelki wypadek naresultx itd. ale ciągle przechodzi tylko raz ...
A jak wywalisz kod ze srodka a w jego miejsce wstawisz echo 'dupa';
to dupa wyswietli ci sie 100 razy?
mefistofeles
Mam 100 dup winksmiley.jpg

Kurde czyli coś ten skrypt się gryzie, dziwne bo nazwy zmiennych są unikalne...

EDIT: Wywaliłem funkcje ze środka przed pętle i śmiga smile.gif))
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.