Benutzer-Werkzeuge

Webseiten-Werkzeuge


php:dom_html

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
php:dom_html [2015/08/12 10:31]
webproducer angelegt
php:dom_html [2015/12/19 00:00] (aktuell)
Zeile 4: Zeile 4:
  
 <code php getSelector.php>​ <code php getSelector.php>​
-    ​function getSelector( $entries, $firstEntry = "",​ $noEntriesMessage, $selected ​= ""​ )+function getSelector( $entries, $parameter = array(), $firstEntry = "",​ $selEntry = ""​, $noEntriesMessage ​= ""​ ) 
 +
 +    $doc = new DOMDocument( '​1.0'​ ); // neues DOM-Objekt erstellen 
 +    $doc->​formatOutput = true; // Zeilenumbrüche hinzufügen 
 +    $sel = $doc->​appendChild( $doc->​createElement( '​select'​ ) ); 
 + 
 +    if( count( $parameter ) > 0 ) // wenn Parameter übergeben wurden
     {     {
-        $doc new DOMDocument( '​1.0' ​); // neues DOM-Objekt erstellen +        ​foreach( $parameter as $att=>​$val ​
-        $doc->formatOutput = true; // Zeilenumbrüche ​hinzufügen +            $sel->setAttribute( $att, $val ); // Parameter zum "​select" ​hinzufügen 
-        $sel = $doc->​appendChild( $doc->​createElement( '​select'​ ) );+    }
  
-        ​if( count( $entries) > 0) { // Daten vorhanden+    ​if( count( $entries) > 0) { // wenn Daten übergeben wurden
  
-            ​if( !empty( $firstEntry ) ) { +        ​if( !empty( $firstEntry ) ) { // wenn ein "​erster Eintrag"​ übergeben wurde 
-                $opt = $sel->​appendChild( $doc->​createElement('​option'​) ); +            $opt = $sel->​appendChild( $doc->​createElement('​option'​) ); 
-                $opt->​appendChild( $doc->​createTextNode( $firstEntry ) ); +            $opt->​appendChild( $doc->​createTextNode( $firstEntry ) ); 
-                $opt->​setAttribute( "​value",​ "​-1"​ ); +            $opt->​setAttribute( "​value",​ "​-1"​ ); 
-            }+            ​$opt->​setAttribute( "​selected",​ ""​ ); 
 +        ​}
  
-            ​foreach( $entries as $key=>​$val ) { +        ​foreach( $entries as $key=>​$val ) { // Einträge ins DOM-Objekt übernehmen 
-                $opt = $sel->​appendChild( $doc->​createElement('​option'​) ); +            $opt = $sel->​appendChild( $doc->​createElement('​option'​) ); 
-                $opt->​appendChild( $doc->​createTextNode( $val ) ); +            $opt->​appendChild( $doc->​createTextNode( $val ) ); 
-                $opt->​setAttribute( "​value",​ $key );+            $opt->​setAttribute( "​value",​ $key );
  
-                ​if( $key == $selected ​+            ​if( empty( $firstEntry ) & $key == $selEntry ​
-                    $opt->​setAttribute( "​selected",​ ""​ ); +                $opt->​setAttribute( "​selected",​ ""​ ); // vorausgewählten Eintrag setzen
-            }+
         }         }
-        else // keine Daten vorhanden 
-        { 
-            $opt = $sel->​appendChild( $doc->​createElement( '​option'​ ) ); 
-            $opt->​appendChild( $doc->​createTextNode( $noEntriesMessage ) ); 
-        } 
- 
-        return $doc->​saveHTML();​ // DOM-Objekt als HTML ausgeben 
     }     }
 +    else // wenn keine Daten übergeben wurden
 +    {
 +        $opt = $sel->​appendChild( $doc->​createElement( '​option'​ ) );
 +        $opt->​appendChild( $doc->​createTextNode( $noEntriesMessage ) );
 +    }
 +
 +    return $doc->​saveHTML();​ // DOM-Objekt als HTML ausgeben
 +}
 </​code>​ </​code>​
  
Zeile 40: Zeile 47:
  
 <code php> <code php>
-$Kunden ​= array(); +$parameter ​ array( ​"​name"​ => "​car",​ "​id"​ => "​Automarke",​ "​class"​ => "​mySelector"​); 
-$Kunden[1] = "Müller"; + 
-$Kunden[2] = "Meier"; +$entries[] = "BMW"; 
-$Kunden[3] = "Schmidt";+$entries[] = "Ford"; 
 +$entries[] = "VW";
  
-echo getSelector( $Kunden, "-- bitte Kunde auswählen --", "keine Kunden gefunden" );+echo getSelector( $entries, $parameter, "Lieblings-Marke aussuchen:" );
 </​code>​ </​code>​
  
-Mit dem letzten ​Parameter "selected" besteht die Möglichkeit,​ den Key eines Elements zu übergeben, welches vorausgewählt sein soll.+Mit dem Parameter "selEntry" besteht die Möglichkeit,​ den Key eines Elements zu übergeben, welches vorausgewählt sein soll, sofern kein "​firstEntry"​ übergeben wurde. Ist der Parameter "​firstEntry"​ nicht leer, wird immer dieser vorausgewählt.
  
 Beispiel: Beispiel:
 <code php> <code php>
 $Kunden = array(); $Kunden = array();
-$Kunden[1] = "Müller"; +$Kunden[1] = "Meier"; 
-$Kunden[2] = "Meier";+$Kunden[2] = "Koch";
 $Kunden[3] = "​Schmidt";​ $Kunden[3] = "​Schmidt";​
  
-echo getSelector( $Kunden, "",​ "keine Kunden gefunden"​, 2 );+echo getSelector( $Kunden, array(), "", "2", "keine Kunden gefunden"​ );
 </​code>​ </​code>​
php/dom_html.1439368300.txt.gz · Zuletzt geändert: 2015/12/19 00:00 (Externe Bearbeitung)