Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php/mysql] multiwybór i zaznaczanie
testujephp
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 29.09.2009

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


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.
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




  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?
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: 10.10.2025 - 21:22