Tom: dropdown-menü

Beitrag lesen

Hello Nicole,

Also ich habe folgendes Problem. Ich habe Daten in einer Datenbank erfasst (Vor und Nachname) und möchte nun, dass man auf einer php-Seite diese Person anhand eines Dropdown-Menüs auswählen kann. Doch leider weiss ich nicht, wie ich in diesem Dropdown Menü ein Select erstellen kann..

Trenne Deine Seiten im Aufbau strict in bestimmte Bereiche:

--- Definitionsteil ---

  • Konstantendefinitionen und Festlegung von Scriptvariablen
  • Includes
  • Funktionsdeklaration und Definitionen
    --- Compute-Teil ------
  • Parameterauswertung
  • Datenbankabfragen
  • Ausgabeberechnung
    --- HTML-Ausgabe-Teil
  • Template-Ausgabe

Dann ist es ziemlich klar, dass Du im Compute-Teil die passende Datenbankabfrage machst, ein Array mit den Daten bereitstellst, daraus mittels einer Funktion den HTML-String für die komplette <select>-Anweisung berechnest und den dann im HTML-Ausgabe Teil mittels <?php Echo $select1; ?> an der passenden Stelle ausgibst.

Ein Beispiel für eine solche Funktion:

#------------------------------------------------------------------------------
function make_selectbox                 # Selectbox aufbauen
#------------------------------------------------------------------------------
(
 $name,               # Name der Selectbox ohne []
 $type,               # S für sinlge, M für Multiple
 $_options,           # assoziatives Array mit den möglichen Optionen
 $_selection=array(), # indiziertes Array mit den letzten Post-Werten (Value=" ")
 $_classes=array()    # Array mit den Klassendefinitionen, die eingebunden werden
)
{
  $select = "\n<select name="".trim($name).'[]"'.
                      ((!empty($_classes['select']))?' class="'.$_classes['select'].'"':'').
                      ((strtolower($type)=='m')?' multiple':'').">\n";

foreach($_options as $key => $val)
  {
    $select.='  <option'.(!empty($_classes['option'])?' class="'.$_classes['option'].'"'."\n         ":'').
                       " value="$key"".(in_array($key,$_selection)?' selected="selected"':'').'>'.
                         htmlentities($val)."</option>\n";
  }
  $select .= "</select>\n";
  return $select;
}

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau