【问题标题】:Php: multiple checkboxesPHP:多个复选框
【发布时间】:2011-07-19 17:44:32
【问题描述】:

我有以下由循环创建的复选框:

<input type='checkbox' value=0 name='<?php echo $question_id; ?>' />

每个复选框都有不同的 ID,当用户选中多个复选框时,我想收集所有 id 并将其插入到将“事件”表与“问题”表相关联的表中。

但是我没有得到 ids...我知道我应该使用一个数组,但它是在 name 属性还是 values 属性中?另外,我如何传递 ID...这会进入 values 字段吗?

【问题讨论】:

  • 可以使用内爆函数implode

标签: php mysql


【解决方案1】:

在 HTML 中:

<input type='checkbox' value=1 name='checkboxname[<?php echo $question_id; ?>]' />

在 PHP 中:

$set_checkboxes = array_keys($_POST['checkboxname']);

或者,或者:

在 HTML 中:

<input type='checkbox' value="<?php echo $question_id; ?>" name='checkboxname[]' />

在 PHP 中:

$set_checkboxes = $_POST['checkboxname'];

【讨论】:

    【解决方案2】:

    我相信你需要类似 ..

    <input type='checkbox' value=<SOME UNIQUE VALUE> name='field_name[]' />
    

    您将遍历恰好是一个数组的 field_name

    【讨论】:

    • 太好了... value='必须用引号括起来' 还是仅当它是一个字符串时?我正在传递一个数字/ID...
    • 我使用引号(对不起,我错过了)。
    【解决方案3】:

    尝试将您的输入更改为此。

    <input type='checkbox' value='<?php echo $question_id; ?>' name='questions[]' />
    

    现在,当您使用 php 获取帖子时,它将返回一个包含所有问题 ID 的数组

    $questionIds = $_POST['questions'];
    

    【讨论】:

      【解决方案4】:

      你的html:

      <form method="post" action="">
      <input type="checkbox" id="things[]" value="red"> Cat<br>
      <input type="checkbox" id="things[]" value="blue"> Mouse<br>
      <input type="checkbox" id="things[]" value="green"> Car<br>
      <input type="checkbox" id="things[]" value="yellow"> DaniWeb
      </form>
      

      你的 PHP:

      <?php
      $things = serialize($_POST['things']);
      
      $query = "INSERT INTO table(things) values($things)";
      mysql_query($query) or die(mysql_error());
      ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-03-28
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-25
        • 2013-06-06
        相关资源
        最近更新 更多