【问题标题】:Checkbox not checked based on database PHP基于数据库PHP未选中复选框
【发布时间】:2014-04-24 12:41:54
【问题描述】:

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

$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);
    }

【问题讨论】:

  • 你检查$row['store']$assigns的内容了吗?

标签: php mysql checkbox


【解决方案1】:

我想你在这里漏掉了一个空格.'"'.$checked.',应该是.'" '.$checked.'

【讨论】:

【解决方案2】:

在我放弃任何一种方法工作之前,我用头撞了in_array 条件(至少以三种不同的方式编写)和各种表格连接的mysqli_querys。无论我做什么,我都无法根据数组中的值自动检查复选框。

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

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

【讨论】:

    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2015-12-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多