Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/mysql] multiwybór i zaznaczanie
Forum PHP.pl > Forum > PHP
testujephp
Witam,

Walczę z następującym problemem. Otóż potrzebuję formularz edycji danych pobranych z bazy danych i to jest już zrobione. Natomiast mam problem przy polu wielokrotnego wyboru - chodzi o to, żeby wybrane pola automatycznie się zaznaczyły gdy wartości się zgadzają z tym co jest w bazie danych dla dwóch tabel:

Oto skrypcik:
  1. <?
  2. $sql4 = mysql_query("SELECT * FROM przeznaczenie ORDER BY id") or die(mysql_error());
  3. $sql5 = mysql_query("SELECT przeznaczenie FROM produkt WHERE id = $id") or die(mysql_error());
  4.  
  5. while ($row4 = mysql_fetch_object($sql4)){
  6. while ($row5 = mysql_fetch_object($sql5)){
  7. $tab = explode(",",$row5->przeznaczenie);
  8. }
  9. foreach ($tab as $element) {
  10. if ($row4->id == $element) {$zaznacz = ' selected="selected"';} else {$zaznacz = '';}
  11. }
  12. echo '<option value="'.$row4->id.'"'.$zaznacz.'>'.$row4->nazwa.'</option>';
  13. }
  14. ?>


I niestety SELECT nie zaznacza pokrywających się pól z tabeli PRZEZNACZENIE z tym co jest w polu przeznaczenie w produkcie.
nospor
  1. foreach ($tab as $element) {
  2. if ($row4->id == $element) {$zaznacz = ' selected="selected"';} else {$zaznacz = '';}
  3. }
No to troche logiki:
co robi ta petla? Leci po wszystkich elementach $tab. Jak sie zgadza to zaznacza selected a jak sie nie zgadza to odznacza. No niby fajnie ale... jak sie zgadza dla piątego elementu to zaznaczy ale idzie dalej. dla szostego juz sie nie zgadza wiec odznacza.

Juz troche jasniej?
testujephp
Średnio, ale kombinuję smile.gif
nospor
ech... slowo klucz w tym całym wywodzie:
Cytat
ale idzie dalej
No już lepszej odpowiedzi nie mogles uzyskac winksmiley.jpg

poprawiony kod:
  1. foreach ($tab as $element) {
  2. if ($row4->id == $element) {$zaznacz = ' selected="selected"';break;} else {$zaznacz = '';}
  3. }


A wogóle to mogłbyć tę petle sobie darować i uzyc in_array()
testujephp
Serdeczne dzięki. Wisiałem z tą pętlą od rana... winksmiley.jpg
Przejrzę in_array przy okazji.
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.