Ankündigung

Einklappen
Keine Ankündigung bisher.

Variable in function verändern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable in function verändern

    Hallo,

    ich rufe wie folgt eine function auf:
    include("funktion.php");
    <table><tr><td>echo ausgeben("$bauer1GH")</td></tr>
    <tr><td>echo ausgeben("$bauer2GH")</td></tr></table>

    in der function wird ein Select-Formularfeld erzeugt:
    function ausgeben($a){
    echo "<select name='$a'>
    <option value='Maus'>Maus</option>
    <option value='Käse'>Käse</option>
    <option value='Fisch'>Fisch</option>
    </select>";}

    Das Ergebnis ist, dass zwei Select-Felder erzeugt werden. Allerdings haben die ausgewählten Werte die gleiche Variable $a.
    Damit ich zwei verschiedene varialen mit dem Formular abschicken kann, müsste ich die selbe function nochmal nur mit anderem namen und anderer Variale z.B. $b einfügen.
    Gibt es dafür eine bessere Alternative ?

  • #2
    Hab dir kurz was zamgebastelt.
    Bitte codeboxen verwenden, machts viel leichter lesbarer.

    PHP-Code:
    <?
    function select($a,$b='') {
      echo "<select name='$a'>";
      if($b !='' and is_array($b)  {
        foreach ($b as $value) {
             echo "<option value={$value}>{$value}</option>";
        }
      }
      echo "</select";
      return;
    }
    $b = array('1','2','3'); 

    select('test',$b);
    ?>
    gruß

    Kommentar


    • #3
      Hallo,

      so wie ich das verstehe, werden damit die Optionen in der Select-Auswahl verändern. Allerdings will ich den Namen der Select-Auswahl dynamisch anpassen. Jedes Select-Feld soll die gleiche Auswahl haben. Wenn ich dann das Formular abschicke würde gegenwärtig herauskommen:
      $ergebnis1 = ($_POST["a"]);
      $ergebnis2 = ($_POST["a"]);

      Das soll eben nicht sein.

      Kommentar


      • #4
        Jetzt hab ichs 3 mal gelesen und weiß immer noch nicht, was genau du willst

        kannst doch den Namen dynamisch anpassen, => kannst ja auch ein array übergeben

        gruß

        Kommentar


        • #5
          <select name='$a'>

          Nur dieses soll sich ändern. Dieses $a wird mit den Werten aus $bauer1GH bzw. $bauer2GH ersetzt. Im ungünstigsten Fall haben beide den selben Wert. Deshalb muss sich $a ändern.

          Kommentar


          • #6
            Sowas könnte man in der Funktion mit ner statischen Variable loggen und abfangen.
            PHP-Code:
              static $log=array();
              if(
            in_array($a,$log)) {
                  return;
              }
             
            $log[]= $a
            Aber macht für mich alles nicht so viel Sinn, schau dir mal das Affenformular an.
            Im übrigen weiß ich immer noch nicht, wo dein Problem liegt.

            Kommentar

            Lädt...
            X