![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 21.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam problem. Chciałbym dokończyć skrypt, ale coś robię nie tak. Całość polega na tym, że:
Zadaję pytanie do bazy, jeżeli otrzymuję pusty wynik, to mam warunek, który zadaje kolejne pytanie, jeżeli to również okaże się zwracać pusty wynik, następuje update do bazy - oznaczając aktualnie pobierany rekord (dlatego, że pobieram z bazy 1, następnie przekazuje wynik do bazy 2, aby w niej pobrać następne dane). Natomiast jeżeli wszystkie warunki są pominięte wykonuje ostatniego else. Wszystko jest ok, jednak, jeżeli na końcu pętli wyświetlę dane (echo $artnr . "</br>";), otrzymuję wyniki poza ostatnim else. Ten wyświetla napis, że pobrał za pierwszym razem, ale wyników już nie zwraca. Pewnie robię jakiś głupi błąd. Będę wdzięczny za pomoc.
W efekcie dla przykładu otrzymuję: Błędny symbol. Użyłem drugiego symbolu. 1255abc1 Użyłem drugiego symbolu. 1255abc2 Działa za pierwszym. (A TUTAJ NIC) Jeżeli dla testu zostawię tylko ostatni warunek, to wszystko jest ok, jednak dla tych wszystkich już nie. Ten post edytował szuki 5.12.2012, 21:48:37 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
if(ibase_fetch_assoc($sth2) == false){
ibase_fetch_assoc zwraca rekord i przechodzi do następnego. Jeśli ty w IF używasz ibase_fetch_assoc to w tym momencie pobierasz już rekord. A ze go nie zapisujesz to go tracisz. Później wewnatrz IF znowu robisz ibase_fetch_assoc ale z racji ze był tylko jeden rekord, to w IF już rekordu nie ma. Proste. Przed IF musisz zapisac wynik ibase_fetch_assoc i na nim dopiero operować. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 0 Dołączył: 21.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie pomyślałem. Dziękuję.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 17:17 |