【问题标题】:How to set values in checkbox using php array and Mysql如何使用php数组和Mysql在复选框中设置值
【发布时间】:2014-05-31 10:33:51
【问题描述】:

我想使用从数据库中获取的数组和值在复选框中设置值。我有一个像 1,2,3,6,8 这样的字符串,它已经使用explode函数转换为字符串。我从具有 10 个元素的数据库中获取值,其中 item_id 为 1,依此类推。现在我想将这些值与该数组一一进行比较并且与该值匹配,复选框将被选中,如果不是,复选框将保持未选中状态。复选框总数为 10。应根据 item_id 和数组选择 5。

$string = 1,2,3,6,8;
$array = explode(',', $string);

【问题讨论】:

  • 复选框的名称是什么?
  • 放更多代码 // 还有 1 个代码...
  • 复选框没有名称。如果 1=1 则选中复选框。

标签: php jquery mysql arrays checkbox


【解决方案1】:
$string = "1,2,3,6,8";
$values = explode(',', $string);
for($i=1;$i<=10;$i++)
{
  if(in_array($i,$values))
   echo "<input type='checkbox' name='checkboxes[]' value='$i' checked='checked'>";
  else
   echo "<input type='checkbox' name='checkboxes[]' value='$i'>";
}

【讨论】:

    【解决方案2】:
    $string = '1,2,3,6,8';
    $array = array_flip(explode(',', $string));
    
    foreach ($checkboxes_from_db as $cb) {
        $checked = isset($array[$cb['item_id']]) ? 'checked' : '';
        echo "<input type='checkbox' name='checkboxes[]' value='$cb' $checked />";
    }
    

    【讨论】:

    • 变量$checkboxes来自哪里?
    • 他说他有一个数组中的复选框。这是我给它起的名字。
    • @Fortune 这是一个无效的编辑,我拒绝了它。想知道为什么别人批准它。这改变了逻辑。
    • @Hanky웃Panky,我明白了。但他巴尔玛已经解释过了,对吗?
    • 但他的意思仍然是另一个数组,而不是那个数组。所以他的代码很适合那个逻辑,而编辑不是:)
    【解决方案3】:

    试试这个:

    $item_ids = array(1, 5, 3, 10, 11, 23, 6, 9, 2, 8);
    $string = '1,2,3,6,8';
    $array = explode(',', $string);
    foreach ($item_ids as $item_id) {
        $checked = in_array($item_id, $array) ? ' checked' : '';
        echo '<input type="checkbox"'. $checked . '>';
    }
    

    Demo Link

    【讨论】:

      猜你喜欢
      • 2020-03-08
      • 1970-01-01
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 2016-07-30
      • 1970-01-01
      相关资源
      最近更新 更多