未基于数据库PHP检查复选框

时间:2014-03-18 16:58:26

标签: php mysql checkbox

我正在尝试显示一个已选中的复选框,如果已在数据库中为商店分配了值,我有以下但不确定为什么它不起作用,它当前没有检查任何复选框,即使它们已分配值

$stores = array();
    $stmt = DB::query(Database::SELECT, 'SELECT `id`, `store`, `store_name`, `branch_name` FROM `mystores` WHERE `site` = :site ORDER BY `store_name` ASC, `branch_name` ASC');
    $stmt->param(':site', $this->permissions['site'][0]);
    try {
        $result = $stmt->execute()->as_array();
        if (count($result) >= 1) {
            foreach ($result as $row) {
                $checked = in_array($row['store'], $assigns) ? 'checked="checked"' : '';
                $stores[] = '<label><input type="checkbox" name="stores['.$row['store'].']" value="'.$row['store'].'"'.$checked.' />'.$row['store'].' - '.$row['store_name'].' - '.$row['branch_name'].'</label>';
            }
        }
    } catch (Exception $e) {
        FB::error($e);
    }

2 个答案:

答案 0 :(得分:1)

我想你错过了.'"'.$checked.'的空格,应该是.'" '.$checked.'

答案 1 :(得分:0)

在我放弃任何一种方法工作之前,我猛烈地反对in_array条件(至少以三种不同方式编写)和各种表格加入mysqli_query两天。无论我做了什么,我都无法根据数组中的值自动检查复选框。

最后,我用jQuery设计了自己的解决方案,它就像一个魅力。

如果您有兴趣,请在此处查看: https://stackoverflow.com/a/26433841/1896348