1
我想动态创建链接到MSSQL数据库的php复选框。这个想法是用一个复选框列出表格中的每个项目。从那里用户将能够检查复选框并单击提交将数据库的1字段中的值更改为“A”。我有数据库链接到PHP和它输出复选框和表值,但我不知道从那里如何动态检查复选框,看看他们是否检查,或从那里使用它。动态创建和检查在php中的复选框
我想动态创建链接到MSSQL数据库的php复选框。这个想法是用一个复选框列出表格中的每个项目。从那里用户将能够检查复选框并单击提交将数据库的1字段中的值更改为“A”。我有数据库链接到PHP和它输出复选框和表值,但我不知道从那里如何动态检查复选框,看看他们是否检查,或从那里使用它。动态创建和检查在php中的复选框
这大致是您想要动态创建复选框的方法。当然有更漂亮的方法来完成这个(即Smarty模板)。
<html>
...
<form method="post" action="submit.php">
<?php
// connect to DB here
$result = mysql_query("SELECT l.id, l.name, u.checked FROM List l LEFT JOIN UserAnswers u ON l.id = u.list_id WHERE u.user_id = 5");
while ($row = mysql_fetch_assoc($result))
{
echo '<input type="checkbox" name="cb_' . $row['id'] . '" ' .
'id="cb_' . $row['id'] . '" ';
if($row['checked'])
echo 'checked';
echo " />\n"
echo '<label for="cb_' . $row['id'] . '">' . $row['name'] . "</label><br />\n";
}
?>
<input type="submit" value="Submit" />
</form>
...
</html>
submit.php有点棘手。当一个复选框被选中时,它将设置一个后期项目。但是,如果未选中,您将不会收到任何回应,因此您需要检查数据库中所有您期望的项目。
<?php
// connect to DB here
$result = mysql_query("SELECT id, name, checked FROM things");
$answers = Array();
while ($row = mysql_fetch_assoc($result))
{
$checked = isset($_POST['cb_' + $row['id']]);
$answers[$row['id']] = $checked;
}
// update your database here using $answers
foreach ($answers as $id => $checked)
{
$query = "REPLACE INTO UserAnswers SET user_id=5, list_id=" . $id . ", checked=";
if($checked)
$query .= "1";
else
$query .= "0";
mysql_query($query);
}
这是所有我的头顶部,有更好的方法做这个最。这只是一个大方向。我对此没有任何保证。哦,它看起来很容易受到SQL注入的影响,请注意这一点。
聪明是伟大的,如果你恨自己。 – 2011-04-17 23:36:48
老兄,如果你讨厌自己,网络编程总的来说非常棒。我从未见过如此不必要的复杂事情。要编写一个网站,你需要学习至少4种不同的语言。 – 2011-04-17 23:39:21
看你这帮助一吨! – Christopher 2011-04-17 23:39:48