我有两个复选框,我需要根据我的sql值显示或隐藏其中一个

时间:2013-04-01 22:42:57

标签: php sql

如果选中复选框['transfer']这将是页面上显示的默认复选框,则在保存并刷新页面后,他们应该只能选择复选框['reverse']

如果他们选择反向并保存复选框['transfer']的选项,则应再次显示。

我试图绕过它,看起来很简单,但我有一个阻止atm。

所以我为我的sql查询创建了一个变量:

$secular = sql::value("select * from ev.do.taskAU where event_id = $event_id and transfer = '1'");

基本上两个复选框在数据库中都有相同的字段名称..它将是['transfer'],它应该根据位0或1进行更改。

希望有意义,任何帮助都会受到高度赞赏。

这就是我正在尝试的:

<?php 

$secular = sql::value("select * from event.dbo.taskAU where event_id = $event_id and transfer = '1'");
$checked = $secular['transfer'];

?>

<table><tr>
     <?php if ($checked == 1) echo "<td>Transfer</td><?php if (in_array(login::$id, array('02O','04R','0A3','0BN','0BO','00D','0FR','0E1'))) { echo <td>". cbox_return('transfer') ."</td>"; ?>
     <?php if ($checked == 0) echo "<td>Reverse</td><?php if (in_array(login::$id, array('02O','04R','0A3','0BN','0BO','00D','0FR','0E1'))) { echo <td>". cbox_return('transfer') ."</td>"; ?></tr></table>

</tr></table>

1 个答案:

答案 0 :(得分:1)

一旦获得是否从数据库中检查了该项目的值,您将使用以下代码:

   $checked = ('whatever value you got from the database');

$checkedValOne = (in_array(login::$id, array('02O','04R','0A3','0BN','0BO','00D','0FR','0E1'))) ? true : false;

$checkedValTwo = ($checked == 1 ? true : false;

    <input type="checkbox" value="<?php echo (($checkedValOne && $checkedValTwo) ? "checked" : ""));?>" />

如果数据库中的值为checked,则上述代码只会向复选框添加1