首页 > 解决方案 > 在 php 5.6.23 中设置变量值

问题描述

我正在根据复选框上的选择更新我的 sql 查询

        $selected = ($data['selected'] == true) ? 1 : 0;
        echo $data['selected'];
        //prints true when checkbox is checked
        //prints false when unchecked
        echo $sql = "update test_table set selected = " . $selected . " where id = " . $data['product_id'];

但在这两种情况下 $selected 都设置为 1 。什么时候

$data['selected'] == false it should save $selected = 0 but it does not.

我错过了什么?

标签: phpif-statementconditional

解决方案


假设您false作为隐藏输入和true复选框传递,在这种情况下,您将获得其中一个;它们作为字符串传递:

$selected = ($data['selected'] == 'true') ? 1 : 0;

但我会问,为什么不只是通过01从形式?

如果您仅将复选框传递为true,则:

$selected = isset($data['selected']) ? 1 : 0;

推荐阅读