Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]Wyświetlanie kategorii w liście rozwijanej
Forum PHP.pl > Forum > Przedszkole
Czapla
Chodzi oto aby wyświetlić wszystkie kategorie z tabeli przy_kategorie w liście rozwijanej dla danego rekordu z zaznaczeniem wybranej opcji w liście rozwijanej. Oto zapytanie które realizuje te założenia:

  1. SELECT pk.id_kategoria AS id_k, kategoria, pd.id_dokument, pd.id_kategoria AS id_k_check
  2. FROM przy_kategorie pk
  3. LEFT JOIN przy_dokumenty pd ON ( pk.id_kategoria = pd.id_kategoria AND pd.id_dokument = $ID_DOKUMNET )




Lista ladnie się wyświetla tylko że zawsze zaznacza pierwszą opcję z góry, zamist wybranej.

Kod do generowania formularza jest taki
  1. <?php
  2. do{
  3.  $lista .= '<option value="'.$aDBC->FieldByName ("id_k") .'">'.$aDBC->FieldByName ("kategoria") .'</option>';  
  4. }while ($aDBC->Next());
  5. echo '<select name="kategoria">'.$lista.'</select>';
  6. ?>
Pitter
Jeżeli z góry ustalasz sobie która z kategorii ma być zaznaczona to zrób coś takiego

  1. <?php
  2. do{
  3. if($aDBC->FieldByName ("kategoria")=='Kategoria jakaś tam')
  4. {
  5.  $lista .= '<option value="'.$aDBC->FieldByName ("id_k") .'" selected>'.$aDBC->FieldByName ("kategoria") .'</option>';  
  6. } 
  7. else
  8. {
  9. $lista .= '<option value="'.$aDBC->FieldByName ("id_k") .'">'.$aDBC->FieldByName ("kategoria") .'</option>';
  10. }
  11.  }while ($aDBC->Next());
  12. echo '<select name="kategoria">'.$lista.'</select>';
  13. ?>
Czapla
Właśnie tego selected mi brakowało!

Prawidlowy kod, zostawiam dla potomnych, może się przyda:

  1. <?php
  2. echo '<select name="kategoria">';
  3.  do {
  4.  print ('<option value='.$aDBC->FieldByName ("id_kategoria") .' name=opcja'.$aDBC->FieldByName ("id_kategoria").'');
  5.  if ($aDBC->FieldByName ('id_kategoria') == $aDBC->FieldByName ('id_kategoria_check'))
  6. print (" selected ");
  7.  print (">");
  8.  print ($aDBC->FieldByName ('kategoria'));
  9.  print ('</option>');
  10. } while ($aDBC->Next());
  11. echo '</select>';
  12. ?>


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.