我有一个mysql表,里面有大约40个项目。我想要做的是在我的网页上用下拉列表引用表格中的那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语句选项,还是必须像我在本文开头所写的那样编写每个项目。
答案 0 :(得分:0)
这可能对您有所帮助
将选择属性添加到varchar
类型的表中alter table user add Selected varchar(255)
将所有值提供给&#39; 0&#39;
和html页面
<select name="sitename">
<option></option>
<!-- your options -->
</select>
当您提交表单时,只需使用此
即可echo $_POST['sitename'];
然后使用此查询数据库知道用户在 usertable 中选择此字段或您想要的位置
Update user set selcted='$_POST["sitename"]' where userid='currectuserid'
答案 1 :(得分:0)
我希望我理解你
$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黑莓汉堡建议你需要从db(不是id)获取名称或通过POST传递ID