您好我有一个下拉列表,其中包含从数据库中的表中获取的选项,当用户选择将其存储在数据库的另一个表中时,我希望这样。我有一个无法选择的代码找到获取正确值以便存储的方法。 这是下拉列表的代码......
<select id="SelectDisease" name="disease">
<?php
$sql = mysql_query("SELECT name FROM disease");
while ($row = mysql_fetch_array($sql))
{
echo "<option value=$disease>" . $row['name'] . "</option>";
}
?>
</select>
这是插入代码......
queryMysql("INSERT INTO patient (fname,lname,username,email,password,gender,age,disease,spid) VALUES('$fname','$lname','$username','$email', '$password','$PatientG','$PatientAge','$disease','$PatientSPID')");
die("<h4>Account created</h4>Please Log in.<br /><br />");
答案 0 :(得分:1)
我不确定我是否正确理解了您的问题,但这是一种方法:
<select/>
标记中的<form/>
标记包含action
到另一个PHP页面。$disease = $_POST['disease']
旁注:
也许改变:
echo "<option value=$disease>" . $row['name'] . "</option>";
到
echo "<option value=\"" . $row['name'] . "\">" . $row['name'] . "</option>";
这有用吗?
答案 1 :(得分:0)
这有点乱,所以这可能是一个混乱的帖子,但我会尝试澄清我认为你想要做的事情。对于您的选择输入:
<select id="SelectDisease" name="disease">
<?php
$sql = mysql_query("SELECT name FROM disease");
while ($row = mysql_fetch_array($sql)){
echo "<option value='".$row['name']."'>".$row['name']."</option>";
}
?>
</select>
这样,您选择的每个选项都有不同的值,而不是$disease
,无论等同于什么。
接下来,您处理POST
请求的位置:
$fname = $_POST['fname'];
$lname = $_POST['lname'];
... // Etc for each input you have.
$disease = $_POST['disease'];
然后您的查询应该正常工作:
queryMysql("INSERT INTO patient
(fname,lname,username,email,password,gender,age,disease,spid)
VALUES('$fname','$lname','$username','$email', '$password','$PatientG','$PatientAge','$disease','$PatientSPID')");
如果这不起作用,请对任何错误发表评论,我们会尝试对其进行排序。
注意强>
不可思议不安全。我永远不会建议在实时应用程序上执行此操作,因为SQL注入将非常简单。另请注意,MySQL函数已被弃用。查找 MySQLi 或 PDO ,并学会实施这些。
祝你好运。