0

我有 2 个表 Table 1 和 Table 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值。S_ID

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    

这是我的代码:

HTML:

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

插入.php

$title=$_POST['title'];
$sid=$_POST['S_ID'];    
$insertquery="INSERT INTO review (title) VALUES('$title')";    

我需要的是,当我从下拉列表中选择任何名称时,id表 2 中的名称应存储在表 1 中,如上述所需格式所示,并在单击特定名称时检索相应名称下的标题。

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

4

1 回答 1

0

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

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

而且您绝对需要考虑清理输入并使用准备好的语句。

更新:

select您可以使用表 2 中的选项(并假设您使用)填充您的选项,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();

?>

为简洁起见,没有检查。

于 2013-01-15T08:25:25.310 回答