我想通过选项标签发送名称和ID字段。现在,因为它设置了它只发送id,如何发送名称以将其插入数据库?
<select name="category_id" size="1"><br />';
$sql = "SELECT id, name
FROM categories
ORDER BY name";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs)) {
echo "<option value=\"".$row['id']."\">".$row['name']."</option>\n ";
}
echo'
</select>
答案 0 :(得分:1)
如果我理解正确,您需要一个隐藏的<input>
字段和一些用于编写<option>
文字的JavaScript。
但是,我不能想到单个应用程序需要的地方......数据库规范化的目的是避免重复。
答案 1 :(得分:1)
使选项值具有以下格式:name$id
<select name="category_id" size="1"><br />';
$sql = "SELECT id, name
FROM categories
ORDER BY name";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs)) {
echo "<option value=\"".$row['name']."$".$row['id']."\">".$row['name']."</option>\n ";
}
echo'
</select>
然后当您检索数据时,您可以将其分解为
$option = explode("$", $_POST['category_id']);
echo $option[0]; // Name
echo $option[1]; // Id