我已经使用PHP
在mysql数据库中插入了一些复选框值在下面的图片中,我获取了值:
现在我需要o / p,如下图所示:我应该检查我在数据库中插入的值
希望现在清楚。
提前致谢..
答案 0 :(得分:2)
您应该有一个可用选项表(在这种情况下,类似于cities
表),然后是用户到城市的查找表。然后,您可以遍历城市,但也可以获取用户已检查过的城市。
不知道您的数据库结构的示例如下:
$uid = $_SESSION['user']['id']; // your logged in user's ID
$cities = array();
// get an array of cities
$sql = "SELECT id, name FROM cities";
$res = mysql_query($sql);
while ($row = mysql_fetch_object($res)) {
$cities[$row->id] = $row->name;
}
// get an array of cities user has checked
$sql = "SELECT DISTINCT city_id FROM users_cities WHERE user_id = '$uid'";
$res = mysql_query($sql);
while ($row = mysql_fetch_object($res)) {
$checked[] = $row->city_id;
}
// this would be templated in a real world situation
foreach ($cities as $id => $name) {
$checked = "";
// check box if user has selected this city
if (in_array($checked, $id)) {
$checked = 'checked="checked" ';
}
echo '<input type="checkbox" name="city[]" value="'.$id.'" '.$checked.'/>';
}
答案 1 :(得分:1)
如果我理解你的问题,那么显而易见的最简单的方法就是你需要从数据库中获取记录,并且在生成HTML时[在类似的循环中]检查数组中是否存在该值。您没有向我们提供您的数据库结构或代码的任何示例,因此您必须亲自了解如何执行此操作。
答案 2 :(得分:0)
通常,您将值插入数据库。插入后,您应该再次访问相同的值。目前尚不清楚如何设置脚本,因此我们假设您重定向到另一个脚本。
您需要做的是再次从数据库中检索复选框的值。然后你知道哪些是被选中的。这可用于确定是否需要选中您的复选框。
注意:
,例如:
<?php
// Retrieve values from database.
$resultArray = ... some code ... ;
?>
<?php foreach ($field_types as $field_name => $field_value): ?>
<input type="checkbox" name="<?php echo $field_name; ?>" value="<?php echo $field_value ?>" <?php if (in_array($field_name, $resultArray)) { echo 'checked'; }/>
<?php endforeach; ?>
如果field_name在结果数组中(已经检查过结果),则会生成一个复选框。否则,它们只是呈现为未选中的复选框。希望这很清楚。