Pulldown-Menü mit Mehrfachnennungen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Pulldown-Menü mit Mehrfachnennungen

    Hallo,
    ich möchte Mehrfachnennungen aus einem Pulldownmenü an meinen mysql-datenbank übergeben. Die mysql-tabelle sieht folgendermaßen aus.

    CREATE TABLE `test` (`aa` set('a','b','c') NOT NULL default '') ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Mit mysqladmin kann ich auch alle drei Werte in "aa" eintragen.

    Leider funktioniert es nicht von der Website.

    So sieht der INSERT -Teil meiner Datei aus:

    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    $insertSQL = sprintf("INSERT INTO test (aa) VALUES (%s)",
    GetSQLValueString($_POST['aa'], "int"));


    und so das Formular:

    <form method="post" name="form1" action="<?php echo $editFormAction; ?>">
    <table align="center">
    <tr valign="baseline">
    <td nowrap align="right">Aa:</td>
    <td><select name="aa" size="3" multiple>
    <option value="1" <?php if (!(strcmp(1, ""))) {echo "SELECTED";} ?>>a</option>
    <option value="2" <?php if (!(strcmp(2, ""))) {echo "SELECTED";} ?>>b</option>
    <option value="3" <?php if (!(strcmp(3, ""))) {echo "SELECTED";} ?>>c</option>
    </select>
    </td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right">&nbsp;</td>
    <td><input type="submit" value="Datensatz einfügen"></td>
    </tr>
    </table>
    <input type="hidden" name="MM_insert" value="form1">
    </form>

    Kann mir jemand sagen, was ich ändern muß um Mehrfachnennungen zu realisieren?

    Vielen Dank

  • #2
    Was bezweckst du hiermit ?
    PHP Code:
    $editFormAction $_SERVER['PHP_SELF'];
    if (isset(
    $_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset(
    $_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    $insertSQL sprintf("INSERT INTO test (aa) VALUES (%s)",
    GetSQLValueString($_POST['aa'], "int")); 
    Soll das letzte die Daten eintragen? Da würde ich dir nochmal raten, dich mit den Grundsätzlichen mysql Befehlen in PHP auseinander zu setzen.

    Comment


    • #3
      Hallo,

      die Antwort von Milian bringt mich jetzt echt weiter.
      Ich habe inzwischen eine Datenbank mit diversen Tabellen und zig Abfragen. Alles funktioniert.
      Auch die Auswahl eines einzelnen Wertes aus den Pulldown-Menüs klappt.

      Eben nur nicht die Mehrfachauswahl.

      Vielleicht hat jemand einen Script-Ausschnitt für mich, den ich dann einbauen kann.

      Danke

      Comment


      • #4
        bei Mehrfachauswahl mußt du HTML-seitig erstmal den Namen des select-Feld um [] erweitern, damit das Feld als Array gepostet wird. PHP-seitig kannst du dann per $_POST darauf zugreifen. Also in deinem Fall:

        html-Formular:
        PHP Code:
        <select name="aa[]" size="3" multiple
        und in PHP z.B.
        PHP Code:
        for ($i=0$i<count($_POST['aa']); $i++) echo $_POST['aa'][$i].'<br />'

        Comment


        • #5
          Re: Pulldown-Menü mit Mehrfachnennungen

          hilft dir http://php-faq.de/q/q-formular-select-multiple.html denn nicht weiter ...?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Comment

          Working...
          X