2016-05-15 51 views
0

我有一个下拉列表,我想将选定的值(如'ID','input1')传递给数据库。用户从下拉列表中选择一行,当他点击提交时,所有值都应该到数据库表中。如何用POST方法实现这一点?如何将选择的值从下拉列表传递到数据库表

<form action="demo2.php" method="post" /> 
           <p> 
    <select name="command"> 
    <?php 
    $sql = mysql_query("SELECT ID,input1, input2, input3, input4, input5 FROM demo"); 
    while ($row = mysql_fetch_array($sql)){ 
    echo "<option value=\"owner1\">" . $row['ID'] . '.' . $row['input1'] . ' - ' . $row['input2'] . "</option>";} 
    ?> 

我的demo2.php的一部分。这只是我想达到的一个例子。

$value9 = $_POST[$row['ID']]; 
$sql2 ="INSERT INTO table ID VALUES ('$value9')"; 
+1

只是一个提示,不要传入那样的数据到数据库中,你打开注射,看着PDO或MySQLI – uruloke

+0

选择列表有两种行为。如果指定的值<选项值'..'>,则将该值发送到服务器。如果没有值属性,则将选项标签之间的信息发送到服务器。在你的情况下更改owner1到$ row ['ID'] – jeff

回答

0

先删除/形式的opeing,

<form action="demo2.php" method="post"> 
    <p> 
    <select name="command"> 
     <?php $sql = mysql_query("SELECT ID,input1, input2, input3, input4, input5 FROM demo"); ?> 
     <?php while ($row = mysql_fetch_array($sql)): ?> 
     <?php echo "<option value=\"owner1\">" . $row['ID'] . '.' . $row['input1'] . ' - ' . $row['input2'] . "</option>"; ?> 
     <?php endwhile; ?> 
    </select> 
    </p> 
    <button type="submit" name="button">Submit</button> 
</form> 

和附加提交按钮

0

为了得到和你需要调用的名称的选项传递值的select标记。

$value9 = $_POST['command']; 
$sql2 ="INSERT INTO table ID VALUES ('$value9')"; 

类似的东西。这可能会有所帮助。

+0

我知道这一点,但你看到我的选择名称是一个,并有三个变量,所以如果我把它像$ value9 = $ _POST ['command']它会将全部三行变量放在整行中,然后将它们放在表的ONE列中?假设我的下拉列表中的一行有变量input1 input2 input3取自另一个表,但是当我单击提交时,我想将input1传递给一个表,将input2传递给另一个表。我无法使用相同的$ value9。 – user6333561

+0

我明白了,所以你最好在这里使用'join'表 – claudios

相关问题