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



## y0h (30. März 2005)

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.


```
<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:


```
#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


----------



## ManicMarble (31. März 2005)

Nach dem Abschicken des Formulars (action = 'POST') sind die "Values" aller Formularelemente in dem "superglobalen" Array $_POST[] gespeichert. In Deinem Fall also:

```
$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:

```
$sql3 = "INSERT INTO threads (name, benutzerid, kategorieid)"; 
$sql3 .= "VALUES ( '$threadname', '$userid', '".$_POST['kategorieid']."')";
```
_Martin_


----------



## y0h (31. März 2005)

Vielen Dank für deine Hilfe Martin

Das Skript ist mittlerweile Lauffähig.


Gruß

Johannes


----------

