Frage zur Formularauswertung von <select> in PHP



  • Hallo zusammen
    Ich habe ein Formular mit einer unbestimmen Anzahl von <select> - Tags.
    Meine Frage ist nun, wie ich jedem dieser Selects den Primärschlüssel eines Datensatzen anhängen kann.

    Bei checkboxes mache ich es folgendermassen:
    <input name="rcdID[]" type="checkbox" value="7"/>
    <input name="rcdID[]" type="checkbox" value="3"/>
    <input name="rcdID[]" type="checkbox" value="14"/>
    <input name="rcdID[]" type="checkbox" value="23"/>

    Aber eben, wie gesagt, wie mache ich dasselbe mit den <select> - Tags?

    Lg Ishildur



  • <select name="deinarray[]"
    <option value="v1">V1</option>
    <option value="v2>>V2</option>
    </select>

    nun schickt er unter deinarray die Werte v1 und v2.
    mit foreach auf der nächsten Seite abholen.



  • Hehe, ich fürchte, mein Problem ist ein wenig komplizierter:

    <select name="1045">
    <option value="v1">V1</option>
    <option value="v2>>V2</option>
    </select>

    <select name="4356">
    <option value="v1">V1</option>
    <option value="v2>>V2</option>
    </select>

    <select name="1888">
    <option value="v1">V1</option>
    <option value="v2>>V2</option>
    </select>

    Nun möchte ich natürlich nicht im Script fragen müssen:

    if(isset(_POST['1045')){} if(isset(_POST['4356')){}
    usw...

    Versteht ihr, was ich meine?



  • Du kannst in php Variablennamen auch berechnen:

    <select name="n1045">
    <option value="v1">V1</option>
    <option value="v2">V2</option>
    </select>

    ${"n" . 1045} dasselbe wie $n1045



  • Ich habe hier einen Screen: http://www.kyrosoft.ch/HTI/Projekte/screen.jpg
    Vielleicht wird es dadurch etwas klarer! 😉

    Also jede Zeile ist ein Datensatz und hat ein Select. Das Problem ist nun, dass ich, wenn ich die Postdaten auslese, folgendes habe:

    array(1) { ["rcdID"]=> array(8) { [0]=> string(1) "5" [1]=> string(1) "6" [2]=> string(1) "6" [3]=> string(1) "6" [4]=> string(1) "5" [5]=> string(1) "6" [6]=> string(1) "5" [7]=> string(1) "6" } }

    Das Problem ist nun, dass ich nicht eindeutig identifizieren kann, welchen Datensätzen die einzelnen Noten zugewiesen wurden.



  • Du kannst als Namen ein Array angeben.

    etwa so:

    if (isset($_POST['bla']) && is_array($_POST['bla'])) {
    	foreach($_POST['bla'] as $k => $v) {
    		echo("bla von " . $k . " ist " . $v . "<br />");
    	}
    }
    
    // und dann im formular
    
    <select name="bla[12]">
    <option value="a">qq a</option>
    <option value="b">qq b</option>
    </select>
    
    <select name="bla[99]">
    <option value="x">qq x</option>
    <option value="y">qq y</option>
    </select>
    


  • @ministry
    Hehe, määääääänläääch!! 😉
    Genau danach hatte ich gesucht! Danke dir vielmals! 🙂



  • Ishildur schrieb:

    @ministry
    Hehe, määääääänläääch!! 😉
    Genau danach hatte ich gesucht! Danke dir vielmals! 🙂

    Dieser Tip war weiblich 😉

    Aber keine Ursache ^^


Anmelden zum Antworten