dynamische Variablenanzahl & Weiterverarbeitung

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

  • dynamische Variablenanzahl & Weiterverarbeitung

    Hiho,

    Ich hab ein ziemlich kniffliges Problem und werde versuchen das jetzt Schritt für Schritt zu schildern

    Der Benutzer hat zunächst die Möglichkeit die Zahl an Eingabefeldern zu ändern. Über eine while-Schleife werden die Namen der Eingabefelder wie folgt vergeben:

    $name1
    $name2
    $name3
    $name4
    ...
    $name50
    ...
    $name99

    -> Es können beispielsweise nur 4 oder sogar 50 Eingabefelder erscheinen. Je nachdem was der Besucher wünscht. Der Name der Eingabefelder wird logisch vergeben, also Feld 1 = name1, Feld 2 = name2, Feld 3 = name3, usw...


    Soweit so gut
    Jetzt kommt aber das eigetnliche Problem:

    Ich möchte nun möglichst effektiv aus den bis zu 99 Eingabefeldern einen String erzeugen. D.h. Ich möchte alle Werte der Eingabefelder 1 bis hin zu 99 durch ein Komma getrennt aneinanderreihen.

    Eine ziemliche simple, aber extrem aufwändige Möglichkeit wäre das hier:
    PHP-Code:
    <?php
    $gesamt 
    $name1 ", " $name2 .", " $name3 ", " $name4 .", " $name5 .", " // usw... bis 99
    ?>
    Allerdings gibts da schon ein Problem:
    Hat der Besucher beispielsweise nur 3 Eingabefelder ausgefüllt, so werden noch 95 weitere Kommas an den $gesamt-String angehängt.

    Nachdem Ich das vermeiden will, bin Ich auf der Suche nach einer etwas besseren Lösung


    Kann mir jemand von euch weiterhelfen?
    Ich bin für jeden Tipp herzlichst dankbar! Bitte helft mir
    Grüße, Chrissi
    Our Dreams are Wings

  • #2
    jo, mach Dir ein array.

    Beispiel:
    while(......){
    if($wert != ""){
    array_push($arrayname,$wert);
    }
    }

    dann hast du alles in einem array.
    Wenn Du diese Werte anschliessend aneinanderreihen willst, nimmst Du
    dann immer den foldenden arraywert und reihst den an den vorherigen:
    Beispiel:

    while($item = array_shift($arrayname){
    $gesamt .= ",".$item; // IRGENDWIE SOWAS
    }


    Hoffe, dass es Dir hilft
    Die meiste Unwissenheit könnte besiegt werden. Wir eignen uns nur deshalb keine Kenntnisse an, weil wir sie nicht wünschen.

    Kommentar


    • #3
      ware es in Deinem Fall nicht besser die Namen der <input>-Felder als Array zu vergeben?

      z.B.
      PHP-Code:
       while()
       {
        echo 
      "<input name='name[]'><br>";
       } 
      Dir steht dann im Script EINE Varible ($name) zur Verfuegung, ein numerisches Array, das bequemer zu handhaben ist, als ein String.
      Liberate me domine ex eo inferiis...

      Kommentar


      • #4
        Schließe mich "szsoftware" an, denn dann könntest du mit

        PHP-Code:
        foreach ($_POST['name'] as $var)
            
        $string.=$var
        alle übergebenen Werte für $name in einer Variable abspeichern.

        Kommentar


        • #5
          Super, danke
          Hat geklappt Big THX
          Grüße, Chrissi
          Our Dreams are Wings

          Kommentar

          Lädt...
          X