Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Foreach ignoruje ostatnie przejście
Forum PHP.pl > Forum > Przedszkole
Gość
Witam. Mam checkboxy w pętli while, których id są pobierane z bazy, wygląda to tak:
  1. <input type=checkbox name="values[]" value="1">

gdzie 1 to zmienna w pętli.

Teraz pętlą foreach przechodzę przez te id, wykonuję operacje etc. Problem polega na tym, że foreach ignoruje ostatnie id, zawsze:
  1. foreach($_POST['values'] as $value) {
  2. echo $value;
  3. $query = mysql_fetch_row(mysql_query("SELECT nazwa, pozycja, numer FROM tabela WHERE id='$value'"));
  4. print_r($query);
  5. echo '<br />';
  6. //...........
  7. }


Teraz zaznaczone są 3 checkboxy i:

Kod
1Array ( [0] => nazwa1 [1] => 1 [2] => 16 )
2Array ( [0] => nazwa2 [1] => 2 [2] => 17 )
3


Co jest nie tak?
cycofiasz
Może nie ma w bazie id 3 ?
Gość
Jest na 100% w bazie ...

Już używałem wszystkich pętli aby to rozwikłać i nic ... teraz instrukcje wykonują się na pierwszym i ostatnim przejściu, reszta jest ignorowana.. już 3 dni nad tym siedze, nikt nie ma pomysłu?
tehaha
a co to w ogóle za konstrukcja, żeby w pętli zapytanie wywoływać? te wszystkie id złącz poprzez implode() i wstaw do konstrukcji WHERE id IN(1,2,3); następnie odbierz wyniki pętlą while() tak jak masz tutaj w pierwszym przykładzie http://php.net/manual/en/function.mysql-fetch-assoc.php
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.