我想为我的患者记录创建“编辑”功能。要求之一是选中复选框。我使用此代码将其插入数据库中
<div class="col-xs-12 col-sm-6">
<input type="checkbox" value="Sulfa drugs" name="Allergic[]">
<label>Sulfa drugs</label>
<input type="checkbox" value="Aspirin" name="Allergic[]">
<label>Aspirin</label>
<input type="checkbox" value="Latex" name="Allergic[]">
<label>Latex</label>
</div>
<?php
$Allergic = implode(', ', ($_GET['Allergic']));
$sql = "INSERT INTO history_table (allergic) VALUES ('$Allergic')";
?>
此代码成功运行。如果检查了数据就插入;只能作为一列中的字符串。
列 过敏-> 阿司匹林,乳胶
用户单击“编辑”按钮时,必须选中/选中已选中的复选框。
我尝试了这段代码,但是只有在选中了它的情况下,它才起作用,如果它是多个,则什么也没发生
<input type="checkbox" value="Aspirin" name="Allergic[]"
<?php echo ($row['allergic']=='Aspirin')?'checked':'' ?>>
<input type="checkbox" value="Latex" name="Allergic[]"
<?php echo ($row['allergic']=='Latex')?'checked':'' ?>>
希望有人可以帮助我,我已经为此工作了将近一天。谢谢!
答案 0 :(得分:1)
请仔细阅读清理输入,准备好的语句,以及至少保护代码免受SQL Injection攻击的基本知识。现在,知道您的网站URL的任何人都可以通过几行代码来完全控制整个数据库。
话虽如此,您的问题很容易解决:
in_array('Aspirin', explode(", ", $row['allergic'])) ? 'checked' : '';
答案 1 :(得分:-2)
只需将您的逻辑放在标签中,然后根据您的逻辑回显“选中”,请参见下面的代码
<input type="checkbox" style="width: 20px; height: 20px;"
class="checkme" name="checkme[]"
id="checkme_'.$sub_sub_gap_row['sub_sub_gap_id'].'"
value="'.$sub_sub_gap_row['sub_sub_gap_id'].'"';?>
<?php if(isset($_GET['sub_sub_gap_id'])){
$selected_topic_id = $_GET['sub_sub_gap_id'];
if($selected_topic_id == $sub_sub_gap_row['sub_sub_gap_id'])
{
echo 'checked';
}
}
?>
<?php
echo '>';