Dies ist eine alte Version des Dokuments!
Mit der folgenden Funktion kann aus einem Array eine HTML-Auswahl-Liste erzeugt werden.
function getSelector( $entries, $firstEntry = "", $noEntriesMessage, $selected = "" ) { $doc = new DOMDocument( '1.0' ); // neues DOM-Objekt erstellen $doc->formatOutput = true; // Zeilenumbrüche hinzufügen $sel = $doc->appendChild( $doc->createElement( 'select' ) ); if( count( $entries) > 0) { // Daten vorhanden if( !empty( $firstEntry ) ) { $opt = $sel->appendChild( $doc->createElement('option') ); $opt->appendChild( $doc->createTextNode( $firstEntry ) ); $opt->setAttribute( "value", "-1" ); } foreach( $entries as $key=>$val ) { $opt = $sel->appendChild( $doc->createElement('option') ); $opt->appendChild( $doc->createTextNode( $val ) ); $opt->setAttribute( "value", $key ); if( $key == $selected ) $opt->setAttribute( "selected", "" ); } } else // keine Daten vorhanden { $opt = $sel->appendChild( $doc->createElement( 'option' ) ); $opt->appendChild( $doc->createTextNode( $noEntriesMessage ) ); } return $doc->saveHTML(); // DOM-Objekt als HTML ausgeben }
Anwendungsbeispiel für die Funktion getSelector:
$Kunden = array(); $Kunden[1] = "Müller"; $Kunden[2] = "Meier"; $Kunden[3] = "Schmidt"; echo getSelector( $Kunden, "-- bitte Kunde auswählen --", "keine Kunden gefunden" );
Mit dem letzten Parameter „selected“ besteht die Möglichkeit, den Key eines Elements zu übergeben, welches vorausgewählt sein soll.
Beispiel:
$Kunden = array(); $Kunden[1] = "Müller"; $Kunden[2] = "Meier"; $Kunden[3] = "Schmidt"; echo getSelector( $Kunden, "", "keine Kunden gefunden", 2 );