Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Problem z pętlą
bubusek
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 1
Dołączył: 2.10.2007

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


Stworzyłem sobie o to pętle która mi nie działa ( widać źle ją zrobiłem (IMG:style_emoticons/default/smile.gif) )

  1. $idstat = mysql_fetch_array(mysql_query("select ile from stats where stat='ile'")) or die(mysql_error());
  2. $id = $idstat[0] + 1;
  3. $eee = "SELECT COUNT(*) FROM url WHERE id='$id' ";
  4. if(!$result = mysql_query($eee)){
  5. return SERWER_ERROR;
  6. }
  7. if(!$row = mysql_fetch_row($result)){
  8. return SERWER_ERROR;
  9. }
  10. if($row[0] < 1){
  11. mysql_query("INSERT INTO url (qq, ww, ee) VALUES ($id, '".addslashes($_POST['ww'])."', '$ee')");
  12. mysql_query("UPDATE stats SET ile='$id' WHERE stat='ile'");
  13. echo " ".$id."
  14. ";
  15. }
  16. else{
  17. for ($i=$id;$row[0]<1;$i++) {
  18. $eee = "SELECT COUNT(*) FROM url WHERE id='$id' ";
  19. if(!$result = mysql_query($eee)){
  20. return SERWER_ERROR;
  21. }
  22. if(!$row = mysql_fetch_row($result)){
  23. return SERWER_ERROR;
  24. }
  25. if($row[0] < 1){
  26. mysql_query("INSERT INTO url (qq, ww, ee) VALUES ($i, '".addslashes($_POST['ww'])."', '$ee')");
  27. mysql_query("UPDATE stats SET ile='$i' WHERE stat='ilel'");
  28. echo " ".$i."
  29. ";
  30. }
  31. }
  32. }

Błędy pewnie jak na przedszkolaka banalne ale nie mam już pomysłu. Co poprawić ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




Totalnie nie rozumiem co chcesz zrobić, ale błąd masz w FOR
for ($i=$id;$row[0]<1;$i++) {
skoro $row[0] jest większe od 0, to warunek $row[0]<1 nigdy nie będzie spełniony a co za tym idzie pętla nie wykona się ani razu
Go to the top of the page
+Quote Post
bubusek
post
Post #3





Grupa: Zarejestrowani
Postów: 70
Pomógł: 1
Dołączył: 2.10.2007

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


Cytat(Daiquiri @ 20.05.2011, 09:58:27 ) *
@ - maskują opcjonalnie pojawiające się informacje o tym, że coś poszło nie tak. Sprawdź czy błędem są warunki i pętle, czy np. fakt, że $row[0] nie ma wartości (np. echo $row[0]; )

No więc
echo $row[0]; daje mi 1 czyli dobrze pokazuje tam wartość.

Cytat(nospor @ 20.05.2011, 10:00:21 ) *
Totalnie nie rozumiem co chcesz zrobić, ale błąd masz w FOR
for ($i=$id;$row[0]<1;$i++) {
skoro $row[0] jest większe od 0, to warunek $row[0]<1 nigdy nie będzie spełniony a co za tym idzie pętla nie wykona się ani razu


No więc problem jest w całym ustawieniu mojej pętli...
Więc tak.
Kiedy $row[0] daje mi wynik 0 to wszystko działa ładnie czyli wykonuje mi to co mam w if($row[0] < 1){} nad tą moja pętlą,
natomiast kiedy dostaje wynik 1 to chcę by pętla podmieniała mi $i (który wyjściową wartość ma $id) do takiego momentu aż $row[0] da znów wynik 0

Ten post edytował bubusek 20.05.2011, 09:17:48
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 16.10.2025 - 20:09