Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Problem z foreach i select
Klepsydra
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 12.02.2010

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


Witam,

Mam następujący problem.

Przygotowałem pewien formularz, gdzie są tradycyjne selecty, np:

  1. <tr><td>Województwo: </td><td><SELECT NAME=wojewodztwo_id value="$wojewodztwo_id" size=1 MULTIPLES>
  2. <OPTION value=1 selected > dolnośląskie
  3. <OPTION value=2 > kujawsko-pomorskie
  4. <OPTION value=3 > lubelskie
  5. [...]
  6. <OPTION value=15 > wielkopolskie
  7. <OPTION value=16 > zachodniopomorskie </OPTION>
  8. </SELECT></td></tr>


Do bazy (MySQL) wszystko dodaje się poprawnie. Problem jest, kiedy ładuję formularz do edycji, ponieważ wtedy zmienne z select nie mają zaznaczonych tych z bazy, a te, które ja mam w formularzu oznaczone jako select (w powyższym przykładzie value=1).





Zrobiłem więc dodatkowy plik, dla przykładu wojewodztwa.php, który wygląda tak:
  1. <?
  2. $wojewodztwa[1] = "dolnośląskie";
  3. $wojewodztwa[2] = "kujawsko-pomorskie";
  4. $wojewodztwa[3] = "lubelskie";
  5. [...]
  6. $wojewodztwa[15] = "wielkopolskie";
  7. $wojewodztwa[16] = "zachodniopomorskie";
  8. ?>



W pliku index.php, zamieniłem select z pierwszego źródła na następujący:



  1. if ($akcja=="form") {
  2. if ($data=="") $data = date("Y-m-d H:i:s");
  3. foreach ($wojewodztwa as $klucz=>$wartosc) {
  4. if ($wojewodztwo==$klucz) $wybierz = "selected=\"selected\"";
  5. else $wybierz="";
  6. $select1 .= "<option value=\"$klucz\" $wybierz>$wartosc</option>";
  7. }
  8. echo <<<KONIEC
  9. <form action="$skrypt" method="post" enctype="multipart/form-data">
  10. <input type="hidden" name="MAX_FILE_SIZE" value="100000">
  11. <input type="hidden" name="akcja" value="dodaj">
  12. <input type="hidden" name="id" value="$id">
  13. <table border=0>
  14.  
  15.  
  16.  
  17.  
  18. <tr><td>Województwo:</td><td>
  19. <input type="hidden" name="MAX_FILE_SIZE" value="200000" />
  20. <input type="hidden" name="id" value="$id" />
  21. <select name="wojewodztwo"> $select1 </select>



W tym przypadku działa poprawnie, tj. formularz do edycji pamięta zaznaczone dane.



Problem polega na tym, że mam więcej pól select.

Nie udało mi się znaleźć informacji, jak połaczyć parokrotnie foreach -kiedy zdefiniowałem oprócz województwa inne selecty, a foreach doklejałem klolejne, zmieniajac zmienne, index.php wyświetla "Parse error: syntax error, unexpected $end in /URL/index.php on line 328".

Drugim rozwiązaniem jest ominięcie tablic i pobranie tego jakos z bazy.


Poproszę o solucję, nie wiem jak pobrać "selected" z selectów przy edycji formularza.
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: 23.08.2025 - 14:17