PHP - 如何选中多个复选框并显示所选复选框中的所有值?

时间:2014-04-15 09:02:09

标签: php mysql

我有一个html表,其中包含特定表中的所有值,我想放置一个更新按钮来更新特定的行

我想使用复选框更新这些行。

用户只需要检查选择框并单击一个按钮,此按钮将显示所选行中的所有信息。

我在这里有一些我创建的代码,但我只能读取最后选择的框值。

我正在使用MVC结构,但是我有自己的规则。

在模型中,我在模型中创建了函数:

$editjo_query = ("SELECT * FROM my_table");

$print_editjo = db_array($editjo_query, 'a+'); //this is a function that i created to    select, ignore please

if(!empty($_POST['editcheck'])){

    $editcheckbox = $_POST['editcheck'];
    $countCheckedit = count($_POST['editcheck']);

    for($i=0;$i<$countCheckedit;$i++) {
        $edit_id = $editcheckbox[$i];

        $editjo_query = ("SELECT * FROM my_table WHERE id=$edit_id");

        $print_editjo = db_array($editjo_query, 'a+'); //this is a function that i created to select, ignore please
     }
}

此功能正在视图中调用

function editjoview($print_editjo){
     foreach($print_editjo as $check){
        echo $check['id'];
     }
}

1 个答案:

答案 0 :(得分:0)

您总是使用$print_editjo写信给$print_editjo = db_array($editjo_query, 'a+');并且您不会处理它。所以在for循环中你覆盖它,留下最后一个条目。 试试这个:

$print_editjo = array();
for($i=0;$i<$countCheckedit;$i++) {
  $edit_id = $editcheckbox[$i];
  $editjo_query = ("SELECT * FROM my_table WHERE id=$edit_id");
  $print_editjo[] = db_array($editjo_query, 'a+');
}

并在您的视图中,迭代数组$print_editjo而不是仅将$print_editjo作为最后一个条目。

注意:如果要添加视图中函数的确切调用方式,帮助可能更精确。