如果数据出现在我的数据库中,我想在复选框上输出checked
属性。
我尝试过in_array()
但由于这些值而无法正常工作(请参阅数据库)
我不知道如何输出它们
PHP代码:
$general_list = "";
if($row['f_general'] == 'Bar, '){
$general_list .= "<label class=\"bg-danger\"><input type=\"radio\" name=\"general[]\" value=\"Bar, \" checked=\"checked\"/>Bar</label>";
}else{
$general_list .= "<label><input type=\"radio\" name=\"general[]\" value=\"Bar, \"/>Bar,</label>";
}
if($row['f_general'] == 'Restaurant,'){
$general_list .= "<label><input type=\"radio\" name=\"general[]\" value=\"Restaurant, \" checked=\"checked\"/>Restaurant,</label>";
}else{
$general_list .= "<label><input type=\"radio\" name=\"general[]\" value=\"Restaurant, \"/>Restaurant,</label>";
}
if($row['f_general'] == 'Coffee Shop,'){
$general_list .= "<label><input type=\"radio\" name=\"general[]\" value=\"Coffee Shop, \" checked=\"checked\"/>Coffee Shop,</label>";
}else{
$general_list .= "<label><input type=\"radio\" name=\"general[]\" value=\"Coffee Shop, \"/>Coffee Shop,</label>";
}
我的数据库值存储如下:
Bar, Restaurant, Coffee Shop, Concierge,
HTML CODE:
<label><input type="checkbox" name="general[]" value="Bar, "/>Bar,</label>
<label><input type="checkbox" name="general[]" value="Restaurant, "/>Restaurant,</label>
<label><input type="checkbox" name="general[]" value="Coffee Shop, "/>Coffee Shop,</label>
<label><input type="checkbox" name="general[]" value="Concierge, "/>Concierge,</label>
<label><input type="checkbox" name="general[]" value="Business Center, "/>Business Center,</label>
<label><input type="checkbox" name="general[]" value="Salon, "/>Salon,</label>
答案 0 :(得分:0)
不要添加带有值的逗号。您可以使用implode存储值,如
implode(",",$_POST[general]);
并爆炸显示:
explode(",",$_POST[general]); //it will return array
答案 1 :(得分:0)
我们不清楚您的数据是如何从数据库中传出的,但如果您将其存储为以逗号分隔的字符串:不要。有更好的方法 - 为$row['f_general']
中的每个实体使用单独的数据库行,即
f_general
Bar
Restaurant
Coffee Shop
(etc.)
然后,您可以执行查询并将字段f_general
中的所有项放入数组中,而不必解析以逗号分隔的字符串。
因为你有字符串,所以解析它以创建一个数组:
$db_row = explode(", ", $row['f_general']);
然后,您可以通过执行以下操作使代码更紧凑,更易于维护:
# set up an array with all the checkboxes in it:
$items = array('Bar', 'Restaurant', 'Coffee Shop', 'Concierge', 'Business Center', 'Salon');
$general_list = '';
# go through each item in the array
foreach ($items as $i) {
# see if that item is in the data from the database
if ( in_array($i, $db_row) ) {
$general_list .= '<label class="bg-danger"><input type="radio" name="general[]" value="'
. $i . '" checked="checked" />' . $i . '</label>';
}
else {
$general_list .= '<label><input type="radio" name="general[]" value="'
. $i . '" />' . $i . '</label>';
}
}