【问题标题】:PHP handle a checklist with a random amount of itemsPHP 处理包含随机数量项目的清单
【发布时间】:2018-06-19 20:48:27
【问题描述】:

我有一个用作清单的 HTML 表格。有多个清单,用户也可以创建自己的清单和项目。此清单包含随机数量的行。

$table .= "<tr style='cursor: pointer; border: 1px solid black;' onclick='selectVal(this)'>
                          <td style='border: 1px solid transparent; width: 5%;' class='cbTrue'><input type='hidden' value='".$srcarr['id']."' name='item_id' /><input type='checkbox' name='".$srcarr['id']."_True' /></td>
                          <td style='border: 1px solid transparent; width: 30%;'>".$srcarr['item']."</td>
                          <td style='border: 1px solid transparent; width: 30%;'><input type='hidden' class='ckTimeStamp' /></td>
                     </tr>";

$srcarr 是我的数组,它来自 MySQLI 查询,包含项目 ID 或项目名称的信息。

我的问题是:我想将项目与信息一起保存,如果它们已被检查,并且在 MySQL 数据库中的时间。但是我不知道在表单发布到 PHP 之后如何知道如何分离有关单个项目的信息。有人有想法吗?

【问题讨论】:

    标签: php html mysql mysqli


    【解决方案1】:

    据我了解,您需要添加一些行,并且需要为每个输入创建一个唯一的名称。

    试试这个:

    <input type='hidden' value='".$srcarr['id']."' name='item_id[".$srcarr['id']."]' /><input type='checkbox' name='".$srcarr['id']."_True' />
    

    然后在表单处理中,循环遍历$_POST['item_id']并从数组的键中检查是否设置了$_POST[$key . '_TRUE']

    【讨论】:

    • 这正是我的意思^-^对不起,来晚了,我的大脑已经睡着了,我猜^^非常感谢你:)
    • 谢谢先生!你的方法效果很好!非常感谢:)
    【解决方案2】:

    您是指用户点击复选框的确切时间,而不是他们提交页面的时间吗?

    如果正是他们检查您的复选框的那一刻,您可以使用 javascript 通过在复选框元素的事件更改上添加时间值来分配隐藏输入的时间值。

    在 jquery 上会是这样的:

    $('input[type="checkbox"][name="checkbox-name"]').change(function() {
        if(this.checked) {
            var now = new Date;
            $('input. ckTimeStamp').val(now.getTime);
        }
    });
    

    【讨论】:

    • 嗨,问题是我在这个清单中有 20 个不同的项目。现在我想将带有 HTML 表单的清单发送到 PHP。 PHP 应该读取表的每一行并获取该表所有输入的值并将其保存在 MySQL 数据库中。问题是这例如20个不同的项目可以完全不同。而且我不知道如何找出,哪个输入值属于哪个项目ID^^
    【解决方案3】:

    代码示例见Processing HTML checkbox forms with PHP

    您需要有一个具有相同名称的复选框列表,例如custom_checkboxes[],并将$srcarr['id'] 存储为一个值。在 PHP 中,当您以数组的形式接收数据时,只有那些被选中的 $srcarr['id'] 才会包含在数组中。

    【讨论】:

    • @JonasLöffel 首先用相同的名称命名您的复选框(但最后使用 [])PHP 会将其视为已检查 ID 的数组(在 PHP 端执行 var_dump 以查看它是否正常工作)
    猜你喜欢
    • 1970-01-01
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 2010-12-10
    • 1970-01-01
    相关资源
    最近更新 更多