![]() |
![]() ![]() |
![]() |
![]()
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) )
Błędy pewnie jak na przedszkolaka banalne ale nie mam już pomysłu. Co poprawić ? |
|
|
![]()
Post
#2
|
|
Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
Co konkretnie nie działa? Proponuję też usunąć wszelkie @, które maskują potencjalne błędy.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 1 Dołączył: 2.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Otóż chcę by kiedy $row[0] będzie większy od 0 (czyli wykaże iż dany rekord jest już w bazie ) to tak długo powiększał $i o 1 aż $row[0] wyniesie 0 i wtedy zadziała podany INSERT UPDATE i echo.
Nie działa to w taki sposób bo gdy mam $row[0] większy od 0 to ani nie ma zmiany w bazie ani echo nie jest pokazane. Co do usunięcia @ to nie rozumiem co to są te @. upss |
|
|
![]()
Post
#4
|
|
Grupa: Administratorzy Postów: 1 552 Pomógł: 211 Dołączył: 7.07.2009 Skąd: NJ ![]() |
@ - 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]; )
|
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 36 557 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 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 1 Dołączył: 2.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
@ - 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ść. 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 |
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to ci podałem odpowiedź....
Skor tak jest źle: for ($i=$id;$row[0]<1;$i++) { To logiczne że tak będzie dobrze for ($i=$id;$row[0]>=1;$i++) { |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 1 Dołączył: 2.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
No to ci podałem odpowiedź.... Skor tak jest źle: for ($i=$id;$row[0]<1;$i++) { To logiczne że tak będzie dobrze for ($i=$id;$row[0]>=1;$i++) { Mi to ni jak nie pasuje ale ok ja przedszkolak wy się znacie to podmieniam i ku nie mojemu zdziwieniu przy takim ustawieniu teraz dostaje. "Request Timeout This request takes too long to process, it is timed out by the server. If it should not be timed out, please contact administrator of this web site to increase 'Connection Timeout'." Hosting mam płatny wiec to żadna jego wina tym bardziej ze sprawdzam ciągle tą pętle na przykładzie kiedy ma jedynie 2 razy podnieść wartość $i więc coś tu nie tak (IMG:style_emoticons/default/smile.gif) ps Pozatym nie bardzo rozumiem dla czego podajesz mi taki kod skoro ja chcę z wartosci $row[0] = 1 poprzez wykorzystanie pętli przejść na $row[0] = 0 |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Bo warunek w pętli jest ok, tylko kod w pętli masz teraz nie ok (IMG:style_emoticons/default/tongue.gif)
Masz tak: $eee = "SELECT COUNT(*) FROM url WHERE id='$id' "; skoro to $i się zmienia więc powinno być: $eee = "SELECT COUNT(*) FROM url WHERE id='$i' "; |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 70 Pomógł: 1 Dołączył: 2.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
No nie wierze że mi to działa (IMG:style_emoticons/default/thumbsupsmileyanim.gif)
Ślicznie dziękuje za pomoc I love forum.php.pl (IMG:style_emoticons/default/Lkingsmiley.png) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 03:35 |