Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Foreach i rozwijana lista
Forum PHP.pl > Forum > Przedszkole
geetzeq
Witam. Mam mały problemik z rozwijaną listą. Próbuję ją odpalić za pomocą pętli foreach, lista działa z jednym mankamentem tzn pojawiają się możliwości do wyboru ale wszystkie pod jedną grupą i to zawartą jako ostatnią w mojej tablicy. Wszystkie pozostałe grupy się nie wyświetlają. Przeglądam kod po raz setny i nie widzę miejsca gdzie popełniłem błąd. Jak będziecie mieli chwilę to zerknijcie smile.gif Pozdrowionka

  1. echo "<option value='' ";
  2. if (empty($check)){echo "selected";}
  3. echo ">----------------------------</option>";
  4. $licz=0;
  5.  
  6. $dane=array(
  7. 'dzial' =>'1grupa',
  8. //tu wpisane opcje wyboru
  9. 'dzial' =>'2grupa',
  10. //tu wpisane opcje wyboru
  11. 'dzial' =>'3grupa',
  12. //tu wpisane opcje wyboru itd...
  13. );
  14. reset($dane);
  15. foreach ($dane as $var => $field){
  16. if ($var=='dzial')
  17. {
  18. if ($licz!='0') {echo "</optgroup>";}
  19. echo "<optgroup label=".$field.">";
  20. $licz=$licz+1;
  21. }
  22. else
  23. {
  24. echo "<option value=".$var;
  25. if (($var==$check)) {echo " selected";}
  26. echo ">".$field."</option>";
  27. }
  28. }
  29.  
  30.  
  31. echo "</optgroup></select>";
JoShiMa
Przecież tablica dane ma tylko jeden element o kluczu 'dzial' (dwukrotnie nadpisany, ale to ciągle jeden element). To skąd ma być więcej opcji?)
geetzeq
I tu jest pies pogrzebany! Czyli za każdym razem wywołując klucz 'dane' przypisuję mu inną wartość więc ostatecznie przyjmuje ostatnią przypisaną? W takim razie moja pętla 'if ($var=='dzial')' się nie przyda. Dzięki za szybką odpowiedź!

Jeśli się to komuś przyda to zmieniłem "if ($var=='dzial')" na "if ($var<0)" a wszystkie klucze zawierające grupy nazwałem kolejnymi ujemnymi liczbami. Nie wiem czy to najlepsze rozwiązanie ale działa i nie wymagało wielu zmian. Pozdrawiam
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.