hawkmaster: Bedingungen, style, Code u.a, einem Array übergeben?

Hallo zusammen,

Ich versuche mich gerade an einer etwas umfangreicheren Funktion.
Diese baut <selects> dynamisch auf.

Ich bin nun an einem Punkt, wo ich den "Inhalt" von einem "label" bzw. "select" einem Array übergeben möchte.
z.b. sieht das original Select so aus:

  
<label for="test"><?php if(!isset($_POST['submit'])) { echo $text_arr[902]; } ?></label>  
<select name="test" id="test" size="10" onclick="verbinden(this.selectedIndex)" <?php echo $stylevar; ?>>  
..  

Ich würde jetzt gerne den Teil "<?php if(!isset($_POST['submit'])) { echo $text_arr[902]; } ?>" an ein Array übergeben z.b.

$labelarray = array('<?php if(!isset($_POST['submit'])) { echo $text_arr[902]; } ?>');

oder;

$selectArray = array('onclick="verbinden(this.selectedIndex)" <?php echo $stylevar; ?>');

Das geht ja so nicht.
Wie könnte man sowas umsetzen?
Event. mit "eval" ?

vielen Dank und viele Grüße
hawk

  1. Das geht ja so nicht.

    Was sagt PHP dazu?

    Wie könnte man sowas umsetzen?

    Definiere "sowas" - was möchtest du erreichen?

    Event. mit "eval" ?

    Mit eval() lässt sich viel erreichen, aber sicher kein Array mit einem String befüllen, der wie PHP-Code aussieht. Man kann höchstens Strings die aussehen wie PHP-Code ausführen (aka evaluieren).

  2. Hello,

    Ich versuche mich gerade an einer etwas umfangreicheren Funktion.
    Diese baut <selects> dynamisch auf.

    hast Du denn die zu erstellenden Selects in ihren unterschiedlichsten Aspekten wenigstens schon mal statisch niedergeschrieben? Dann zeig uns Deine Zielvorstellungen doch erst einmal.

    Aus diesen Baumustern kannst Du dann die Zerlegung betreiben in

    • zuzuführende Daten (Data)
    • zu generierendes Markup (HTML)
    • zu generierende Controls (Attribute: options, selected, multiple, ...)
    • zuzuführende Styles (CSS)

    Und mach nicht den Fehler, Request und Response in einer zusammengewürfelten Funktion zu vermischen. Zwischen Request und Response können nämlich noch diverse Entscheidungs- und /oder Verarbeitungsschritte liegen und daher hat ein $_POST-Value i.d.R. direkt eingesetzt nichts in einer solchen Funktion zu suchen.

    <label for="test"><?php if(!isset($_POST['submit'])) { echo $text_arr[902]; } ?></label>
    <select name="test" id="test" size="10" onclick="verbinden(this.selectedIndex)" <?php echo $stylevar; ?>>
    ..

      
    Also die Entwicklungsschritte:  
      
    1\. Baumuster erstellen  
    2\. Trennen von Daten-, Markup- und Logikelementen  
    3\. daraus die zu übergebenden Funktionsparameter und ihre Form (Datentyp) bestimmen  
    4\. Funktion programmieren  
      
    Es gibt hier zwei Lösungsansätze:  
    a.) objektorientiert  
    b.) arbeiten mit varianten Arrays  
      
      
    a) erfordert, dass auch das System drum herum dazu passt, also die Vorgaben (Parents) schon definiert sind. b) ist auch von innen nach außen machbar, also erst nur diese Funktion erstellen, und dann alles andere drum herum darauf abstimmen.  
      
      
      
      
      
      
    Liebe Grüße aus dem schönen Oberharz  
      
      
    Tom vom Berg  
    ![](http://selfhtml.bitworks.de/Virencheck.gif)  
      
    
    -- 
    Nur selber lernen macht schlau  
    <http://bergpost.annerschbarrich.de>