我有一个关于如何从mysql数据库中的列自动填充下拉菜单的问题,然后根据用户的选择自动填充下面的字段。请帮忙!我的代码不会正确发布。我知道如何查询数据库并填充下拉列表,但我无法在下面自动填充字段。
<?php
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
header("Location: dashboard.html")
?>
<?php
$con = mysql_connect("localhost","root","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
else {
mysql_select_db("Transgen", $con);?>
$query = "SELECT * FROM PartnerSetup" or die(mysql_error());
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result) > 0) {
while($row = mysql_fetch_assoc($result)) {
echo ($row['Partner']); echo "<br/>";
}
?>
答案 0 :(得分:0)
时间开裂;
首先是代码中的错误;
if(!mysql_query($ sql,$ con))
这应该在您的数据库连接信息中处理:
示例:
$host = "HOST";
$Username = "user";
$Password = "password";
$sql = mysql_connect("$host", "$Username", "$Password");
$conn = mysql_select_db("DATABASENAME", $sql); // Depending on what $sql and $con contain on your code.
然后你的if语句:
if(!mysql_query($ sql,$ con)){...}
应替换为:
if (!($sql))
{
die('Error: ' . mysql_error());
} // Kills the script if correct information could not be used to access the database
你有一个回声
echo“添加了1条记录”;
哪个位于括号{ or }
我认为这是在function
或$_POST/$_GET
内
如果是这样,那么忽略上面的
如果没有,那么你的脚本将不需要回显该字符串。这应该修改
您还在mysql_select_db("Transgen", $con);?>
^另外;在$ sql被设置之前你有!$ sql和!con;在线:
$con = mysql_connect("localhost","root","password");
在初始变量之后声明了哪个$ con,如果你还没有在第一行显示之前设置$ con和$ sql,则可能会返回错误。
因此,您的$query
将不会被执行,而是以纯文本显示给查看该页面的用户/个人。
并回答你的问题;如果您已经开始通过javascript进行操作,那么请在线查看。
这可以通过PHP完成,使用带有一些查询的while循环来填充PHP中的下拉菜单。
<select name="SELECTNAME">
<?PHP
$DropDownQuery = mysql_query("SELECT * FROM PartnerSetup");
while ($Rows = mysql_fetch_array($DropDownQuery))
{
$Partner = $Rows['Partner'];
echo "<option value=\"$Partner\">$Partner</option>";
} // This will enable the user to submit a "partner" if needed in a <form> </form> setup
?>
</select>
我建议在代码中添加错误,我将按照提交的内容和我能看到的内容进行操作。从我所看到的,我已经指出可能/将会返回错误的区域。
我还会研究PDO功能;因为MySQL已经过折旧,将从未来的PHP版本中删除。