繁体   English   中英

如何在数据库中选择下拉列表项

[英]how to make drop down list item selected in database

我有一个大约40个项目的mysql表。 我想做的是在我的网页上的表单中用下拉列表引用这40个项目。 而不是像下面那样写出所有40个项目,以了解是否已选择一个项目:

<!doctype html>
<html>
</head>
<body>
<select>
<option value="Health & Beauty"<?php if (isset($_POST['SiteType']) && ($_POST['SiteType'] == 'Health & Beauty')) echo ' selected="selected"'; ?>>Health & Beauty</option></select>
</body>
</html>
and so on 40 times...

我想知道如何通过使用如下所示的SQL语句来做到这一点:这就是我到目前为止所拥有的。

$sql = "SELECT * FROM sitetypes";
$f = mysqli_query($dbc, $sql) or trigger_error("Query: $sql\n<br />Mysqli Error: " . mysqli_error($dbc));
while($row2 = mysqli_fetch_array($f, MYSQLI_ASSOC)){
echo '<option value="' . $row2['SiteTypeID'] . '">' . $row2['SiteType'] . '</option><\select>';
}

上面的代码产生了一个不错的下拉列表,但是当用户选择一个项目时,我不知道如何使数据库知道。 我要写什么代码才能做到这一点? 我可以使用SQL语句选项还是必须像在本文开头所述那样将每个项目写出。

这可能对您有帮助

选择属性添加到类型为varchar的表中

alter table user add Selected varchar(255)

将所有值都设为“ 0”

并在html页面中

<select name="sitename">
    <option></option>
    <!-- your options -->
</select>

当您提交表单时,您只需使用此

echo $_POST['sitename'];

然后使用此查询数据库知道用户在usertable或您想要的位置选择了此字段

Update user set selcted='$_POST["sitename"]' where userid='currectuserid'

我希望我理解你对

$sql = "SELECT * FROM sitetypes";
$f = mysqli_query($dbc, $sql) or trigger_error("Query: $sql\n<br />Mysqli Error: " .mysqli_error($dbc));
while($row2 = mysqli_fetch_array($f, MYSQLI_ASSOC)){
echo '<option value="' . $row2['SiteTypeID'] . ' '.($row2['SiteTypeName'] == $_POST['SiteType'] ? 'selected="selected"':'').'">' . $row2['SiteType'] . '</option><\select>';
}

我不确定语法是否正确,但是您明白了。 编辑:我可以Haz Cheeseburger建议您需要从数据库获取名称(不是id)或通过POST传递ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM