我正在尝试创建一个脚本来更新多行。

为此,我创建了一个html表,其中包含来自一个特定数据库表的所有值。

我在每个html行中插入了一个复选框,以进行检查和提交。

提交后,所有选中的行值都会显示在文本框中,如下所示:

http://i.imgur.com/nnG1mgf.png

用户只需要编辑复选框并保存即可。

问题是,我正在使用MVC进行此项目,并且只有在将帖子插入到foreach中的情况下,脚本才能正常工作,如下所示:

function confirmedit($checkbox, $editcheckbox, $u_job_name, $checkedit, $savecheck) 
{    
    if (is_array($savecheck)) {

        foreach ($savecheck as $id) {

            $u_job_name =  $_POST['u_job_name'][$id];

            $save_jo    = "UPDATE job_offers SET job_name ='".$u_job_name."' ".
                          "WHERE job_id =  '".$id."' ";

            $array = db_query($save_jo, '+');


            echo '<pre>', $save_jo, '</pre>';

        }

    }

}

但是我正在MVC中执行此项目,并且我无法将POST放入模型中。

所以我决定将POST放在控制器内部:

if (isset($_POST['save']) && !empty($_POST['savecheck'])) {

    $countChecksave = count($_POST['savecheck']);
    $savecheck = $_POST['savecheck'];
    $checkedit = $_POST['checkedit'];

    foreach ($savecheck as $id) {

        $u_job_name =  $_POST['u_job_name'][$id];

    }
} else {    
    $u_job_name = NULL;
}

继续,我的查询在Model的foreach内部,而POST在控制器内部。

但这是行不通的,因为他无法识别文本框中的ID,我更新了三行,并在每个文本框中写了1,2,3,对查询执行了回显,而我的查询正在这样做:

UPDATE job_offers SET job_name ='3' WHERE job_id =  '186' 
UPDATE job_offers SET job_name ='3' WHERE job_id =  '188' 
UPDATE job_offers SET job_name ='3' WHERE job_id =  '190' 

我的查询读取相同的文本框ID三次

这里查看:

foreach($update_array as $val){
echo "
    <table>
    <tr>
      <td><input class='txtedit' type='text' name='u_job_name[".$val['job_id']."]' value='".$val['job_name']."' /></td>

      <td><input style='width: 50px;' class='savecheck' type='checkbox' name='savecheck[]' value=".$val['job_id']." /></td>

    </tr>
    </table>

“;}

我究竟做错了什么?

感谢大伙们。

  ask by user3554221 translate from so

本文未有回复,本站智能推荐:

4回复

使用foreach数组使用php将多行插入mysql

我卡住了,一直想弄清楚两个小时。 我已经弄清楚了foreach循环,但是无法弄清楚现在如何插入数据。 这是我的PHP,我在做什么错? 谢谢! 如果我要这样布置,对不起,仍然是一位新手,您可以学习它以及它是如何工作的。
2回复

PHP foreach循环与表单数据

我试图通过php从html表单中获取数据,并将其输入每个循环x次。 这是代码: 表格: 窗体具有一个+按钮,可同时添加两个字段(自动增加first_input_field和second_input_field编号)。 我试图将first_input_field值重复x
1回复

表单提交:foreach循环中的PHP S_SESSION语句

. 假设我有以下PHP代码,尝试从名为$arr的数组中读取,该数组采用 。 提交我的HTML表单后,此PHP代码将执行foreach循环,并将发布到页面的值存储在$_SESSION数组中。 上面的代码无法正常工作。 如果要用下面的代码替换上面的代码块,则页面上字段中的值将正确存储在$
2回复

PHP $ _POST表单在foreach循环中具有多个变量输入

我有一种形式,可以在foreach循环中创建多个文本输入,如下所示: 结果是一个HTML表单,看起来像这样: 我遇到的问题是,当我尝试提交表单并将每个用户的结果写入数据库时​​,它仅输入循环的最后一个实例的详细信息,而忽略其他实例。 我在这里还查看了其他答案,例如如何在表单
2回复

从选择标记的foreach循环创建数组,并将其通过php形式传递

我不知道如何更好地表达它,但是我认为我的编码显示揭示了我的问题..我正试图从foreach循环中获取值的选择标记列表,并将其转换为数组,然后使用表单发布操作将其传递给我,卡住了从循环中检索选择标记值数组..这是我的代码
2回复

PHP:多维数组foreach回传形式传递第三个值

嗨,我是从多维数组中的表单值传递过来的。 我传递的价值观看起来像这样。 第三个值是从html表单传递的。 然后我尝试去教他们,但我被困住了。 它在回声: 但是我需要做到这一点 第三个值是从HTML发布的,我基本上不知道如何使用表单将第三个值传递给数组。
3回复

PHP-Foreach对象

我试图在我的视图中遍历此数据对象。 但是,出现以下错误: Trying to get property of non-object 。 这是我第一次真正遇到渲染数组/对象的问题...也许只是星期日的情况...但是我无法将此foreach输出。 救命? 编辑:我将键/值“ search_t
1回复

将foreach作为数组提交给MySQL

我需要根据表单自动生成的列表将数据插入数据库。 所以我列出了键和值,但是我需要创建一个数组,然后可以使用$ sql插入数据库。 所以我有这个用于$ sql插入
1回复

数组验证中的Foreach形式

感谢您的阅读:D 我正在创建一个在线订购系统。 您将看到3个输入。 Partnumber , Quantity和Price 。 您将只填写零件号和数量。 价格将通过我的数据库检查正确的价格。 我试图创建该功能,但仍无法正常工作。 但无论如何。 我包括了一个jQuery函数,因
2回复

循环形式与foreach和会话

我有一个带有循环的表单。 这是我的代码: 我得到的输出是: 数组([number2] =>数组([1] => 3 [2] => 4)[submitbutton] =>确认!)数组,! 我想知道如何将数字放入会话中。 例如, Session