Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:dom_html

Dies ist eine alte Version des Dokuments!


HTML-Tags mit DOM erstellen

Mit der folgenden Funktion kann aus einem Array eine HTML-Auswahl-Liste erzeugt werden.

getSelector.php
    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 );
php/dom_html.1439368300.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)