PHP如果数据与数据库相同,请选中复选框

时间:2014-10-28 08:47:12

标签: php database checkbox

如果在添加患者后已经检查过数据,可以教我如何检查复选框的方法。例如,当我添加患者时,我检查了1和2.当我想编辑患者信息时,必须选中1和2复选框。请帮我解决问题。谢谢。

//database.php
"CREATE TABLE tblmedicalhistory(Id varchar(12)NOT NULL PRIMARY KEY, Bloodtype char(3), Diseases varchar(30))",
"CREATE TABLE tblmedicalrecord(Id int NOT NULL AUTO_INCREMENT , PRIMARY KEY (Id), MedicalRecordType varchar(20))",

//form1.php
<?php 
    $data = array();
    $DiseaseSplit = $medicalRec['Diseases'];
    $array = explode(", ",$DiseaseSplit);
    foreach ($array as $item) {
    $data[$item] = true;
}
?>
<tr>
<?php
        $query = "SELECT * FROM tblmedicalrecord";
        $result = mysql_query ($query);
        echo "<label class='q' for='q1'></label>";
        while($r = mysql_fetch_array($result)) {
            echo "<tr>";
            echo "<td><input type='checkbox' name='q1[]'";
            echo "value=".$r['Id'].">".$r['MedicalRecordType']."</td>"; 
            echo "</tr>";
        }
        echo "</select>";
?>
</tr>

2 个答案:

答案 0 :(得分:0)

当您单击用于编辑患者的按钮时(在从数据库中获取复选框值的查询之后),您可以使用javascript传递复选框的值..

你是按钮

<button onclick="funzione<?php echo $i ?>();" id="editpatient"></button>

和javascript函数

<script type="text/javascript"> 
    function funzione<?php echo $i ?>() 
    {
            <?php if($valueofcheckbox1): ?>
            $('#myCheck1').prop('checked', true).change();
            <?php elseif (!$valueofcheckbox1): ?>
            $('#myCheck1').prop('checked', false).change();
            <?php endif; ?>

           <?php if($valueofcheckbox2): ?>
            $('#myCheck2').prop('checked', true).change();
            <?php elseif (!$valueofcheckbox2): ?>
            $('#myCheck2').prop('checked', false).change();
            <?php endif; ?>
    }
</script>

其中 myCheck1 myCheck2 是用于显示是否选中1和2的复选框。和$ valueofcheckbox2 / $ valueofcheckbox1是存储(从数据库)两个复选框的值的变量

我希望这可以帮助

答案 1 :(得分:0)

您需要首先存储,您可以从中确定是否选中了值。在这里,我考虑到您在阵列中的特定患者的已检查身份记录:

$rec = array("1", "2");

表示检查该患者的复选框1和复选框2

        <?php
        $query = "SELECT * FROM tblmedicalrecord";
        $result = mysql_query ($query);
        echo "<label class='q' for='q1'></label>";
        while($r = mysql_fetch_array($result)) {
            $str='';
            $str ="<tr>";
            $str .= "<td><input type='checkbox' name='q1[]'";
            $str .= "value=".$r['Id'].";
            if(in_array($r['Id'], $rec))
            {
                $str .= " checked ";
            }
            $str .= ">".$r['MedicalRecordType']."</td>"; 
            $str .= "</tr>";
            echo $str;
        }
        echo "</select>";
    ?>