gpt4 book ai didi

php - 测试数据库结果以将复选框设置为已选中

转载 作者:行者123 更新时间:2023-11-29 23:38:32 26 4
gpt4 key购买 nike

如果数据出现在我的数据库中,我想在复选框上输出 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 代码:

<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>

最佳答案

尚不清楚您的数据是如何从数据库中出来的,但如果您将其存储为逗号分隔的字符串:则不要。有更好的方法可以做到这一点 - 对 $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>';
}
}

关于php - 测试数据库结果以将复选框设置为已选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26295299/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com