我正在从我的数据库中提取信息,并将关键字转换为复选框作为选项。
在我的MySQL中,我有一个“关键字”列,其中包含几个我正在变成选项的关键字。例如,关键字包含“井,中,稀有,番茄酱,蛋黄酱,芥末”等字样。
在我的php脚本中,我正在爆炸和修剪关键字以创建复选框:
$i=0;
foreach(explode(',', $keywords) as $keyword) {
$keyword = trim($keyword);
$chkname = "checkbox{$i}";
$i = $i+1;
echo "<input type='checkbox' name='$chkname' value='$keyword'> $keyword <br /><br />";
}
echo '<input type="submit" name="button" id="button" value="Add to Order"/> </form> </td></tr></table>';
}
我遇到的麻烦是 我不知道这是否是正确的方法。 2.我需要弄清楚如何回应用户选择。如果他们选择“中等”和“番茄酱”,我需要回应那些选择。
以下是此页面的完整代码。任何指导,方向或有价值的见解都会比你知道的更多。我会选择答案。如果您还有其他需要,请告诉我。我是这个社区的新手。
<?php
require("database.php"); //connect to the database
if(isset($_GET['id'])){
$id = $_GET['id'];
}
$result = mysqli_query($con,"SELECT * FROM menuitem WHERE id='$id' ");
if (!$result) {
printf("Error: %s\n", mysqli_error($con));// Displays the error that mysql will generate if syntax is not correct.
exit();
}
//DYNAMIC PHP PULLING IN THE DATA AND SPITTING OUT THE RESULTS
while($row = mysqli_fetch_array($result))
{
$id = $row['id'];
$description = $row['description'];
$picturepath = $row['picturepath'];
$name = $row['name'];
$price = $row['price'];
$keywords = $row['keywords'];
$dynamiclist = '<table align="center" width="60%" border="0" cellspacing="5" cellpadding="8">
<tr height="20"></tr>
<tr>
<td width="70%" valign="top" align="left"> <br />' . $name . ' <br /><br />$' . $price . '<br /><br />
<form id="form1" name="form1" method="post" action="cart.php">
<input type="hidden" name="pid" id="pid" value=" ' . $id . '"/>';
echo $dynamiclist;
$i=0;
foreach(explode(',', $keywords) as $keyword) {
$keyword = trim($keyword);
$chkname = "checkbox{$i}";
$i = $i+1;
echo "<input type='checkbox' name='$chkname' value='$keyword'> $keyword <br /><br />";
}
echo '<input type="submit" name="button" id="button" value="Add to Order"/> </form> </td></tr></table>';
}
mysqli_close($con); //close the db connection
?>
<html>
<body>
</body>
</html>
答案 0 :(得分:0)
您可以使用代码中的“checked”参数默认选中复选框。
为了方便您自己,您可以使用以下方法命名您的复选框:
echo '<input type="checkbox" name="chkboxes[]" value="'.$keyword.'" id="chk_'.$keyword.'" /><label for="chk_'.$keyword.'">'.$keyword.'</label>'."<br />\r\n"
如果您通过这种方式创建带有标签的复选框,则用户还可以通过单击其后面的文本来启用和禁用复选框。通过使用相同的名称创建它们以及它后面的数组标识符(方括号),您可以在提交表单后在PHP的简单循环中访问它们:
if(isset($_POST['chkboxes'])) {
foreach($_POST['chkboxes'] as $chkbox) {
echo 'Checkbox checked: '.$chkbox."<br />\r\n";
}
}