[MySql 4] Werte aus Dropdown (Combo) Liste in Datenbank eintragen

y0h

Grünschnabel
Hallo zusammen!

Vorweg sei gesagt das ich nach ähnlichen Fragen im Netz und hier im Forum gesucht habe, ohne Erfolg. Falls ich doch was übersehen habe, freue ich mich auch über einen Hinweiß darauf.

Es dreht sich um eine Kategorieauswahl in einem Forum.

Ich generiere mit php eine Dropdownliste, welche ich mit Daten aus der Datenbank fülle.

PHP:
<form action="threaderstellen.php" method="POST" name="kategorieidform">
<select name="kategorieid">
<?php
  connect(); # Verbindung mit der Datenbank herstellen
/*v*v*v*v*v*v*v* Ausgabe der Kategorien in Auswahlliste  *v*v*v*v*v*v*v*v*v*/
 #einträge auswählen
 $sql_1 = "SELECT * FROM `kategorien` ORDER BY id";
 $query = mysql_query($sql_1,$dbverbindung);
 
 while ($kategorie = mysql_fetch_array($query))
 {
   echo "<option value=\"".$kategorie['id']."\">".$kategorie['name']."</option>\n";
 }
/*^*^*^*^*^*^*^* Ausgabe der Kategorien in Auswahlliste  ^*^*^*^*^*^*^*/
?>
</select>
</form>
Soweit so gut.

Nun möchte ich den Wert (Kategorie ID) der den einzelen Kategorienamen zugeordnet ist (am besten ohne Zuhilfename von Java-Script) in eine PHP-Varibale packen, welche dann
hiermit in die Datenbank soll:

PHP:
 #Daten in die Datenbank rein tun
     $sql3 = "INSERT INTO threads (name, benutzerid, kategorieid)";
     $sql3 .= "VALUES ( '$threadname', '$userid', '$kategorieid')";

     mysql_query($sql3,$dbverbindung);

Die Variablen $threadname und $userid sind auf jeden Fall mit den richtigen Werten versorgt. (Also an den wirds nicht liegen)

Also wie erhällt meine Variable je nach Auswahl den Wert der bei value in der Liste steht?




Vielen Dank im Vorraus,

Gruß

y0h
 
Nach dem Abschicken des Formulars (action = 'POST') sind die "Values" aller Formularelemente in dem "superglobalen" Array $_POST[] gespeichert. In Deinem Fall also:
PHP:
$kategorieid = $_POST['kategorieid'];
Allerdings ist es überhaupt nicht nötig, den Inhalt von $_POST[] erst einzelnen Variablen zuzuordnen. Die kann man ja gleich so wie sie sind direkt verwenden:
PHP:
$sql3 = "INSERT INTO threads (name, benutzerid, kategorieid)"; 
$sql3 .= "VALUES ( '$threadname', '$userid', '".$_POST['kategorieid']."')";
Martin
 
Zurück