如何在select中将一个表的id值添加到另一个表中?

时间:2013-01-15 07:49:32

标签: php mysql

我有2个表,表1和表2。

我期望的是以下格式 所需格式

Table 1    
   ID   Title   S_ID    
   1    Option1   2    
   2    Option2   2    
   3    Option3   1  

Table 2       
   S_ID  SNAME    
   1     Name1    
   2     Name2    
   3     Name3    

但我得到了Table1 null的{​​{1}}值。

S_ID

这是我的代码:

HTML:

Table 1    
   ID   Title   S_ID    
   1    Option1   NULL    
   2    Option2   NULL    
   3    Option3   NULL

Table 2    
   S_ID  SNAME    
   1     Name1    
   2     Name2    
   3     Name3    

Insert.php

<select name=sid>
<option value="select"></option>
<option value="N1">Name1</option>
<option value="N2">Name2</option>
<option value="N3">Name3</option>
</select>    

我需要的是当我从下拉列表中选择任何名称时,表2中的$title=$_POST['title']; $sid=$_POST['S_ID']; $insertquery="INSERT INTO review (title) VALUES('$title')"; 应该存储在表1中,如上面所要求的格式所示,并检索各自名称下的标题点击特定名称。

通过编写所需代码来提供帮助。谢谢。

1 个答案:

答案 0 :(得分:0)

恕我直言,你的INSERT陈述应如下所示:

$insertquery = "INSERT INTO review (title, S_ID) VALUES('$title', '$sid')";

你肯定需要考虑清理输入和使用准备好的语句。

<强>更新

您可以使用表2中的选项填充select(并假设您使用mysqli),您可以执行以下操作:

<?php

$db = new mysqli("host", "user", "password", "db");

$qry = "SELECT * FROM Table2";
$result = $db->query($qry);
echo "<select name=\"S_ID\">";
echo "<option value=\"select\" selected=\"selected\">Select a name</option>";
while ($row = $result->fetch_array(MYSQL_ASSOC)) {
    echo "<option value=\"" . $row['S_ID'] . "\">" . $row['SNAME'] . "</option>";
}
echo '</select>';
$result->close();
$db->close();

?>

为了简洁和简洁起见,没有检查。