Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在一个表单中有多个按钮,每个按钮都应该能够更新数据库_Javascript_Php_Mysql_Jquery - Fatal编程技术网

Javascript 在一个表单中有多个按钮,每个按钮都应该能够更新数据库

Javascript 在一个表单中有多个按钮,每个按钮都应该能够更新数据库,javascript,php,mysql,jquery,Javascript,Php,Mysql,Jquery,朋友们,请告诉我哪里错了,因为即使更新查询成功执行,数据库仍然保持不变 多谢各位 这是表格代码 echo'<form action="processor.php" method="post" id ="post_form">'; echo '<input type="hidden" name= "status" id="status" value="">'; $upload_arr=array("1"); foreach($upload_arr as $upload_id

朋友们,请告诉我哪里错了,因为即使更新查询成功执行,数据库仍然保持不变 多谢各位

这是表格代码

echo'<form action="processor.php" method="post" id ="post_form">';
echo '<input type="hidden" name= "status" id="status" value="">';
$upload_arr=array("1");
foreach($upload_arr as $upload_id)
{
    echo '<input type="button" name="accept-<?=$upload_id?>"   value="accept"             onclick="submit_this(this.name)"/><br>';
    echo    '<input type="button" name="reject-<?=$upload_id?>"  value="reject"  onclick="submit_this(this.name)"/><br>';
    echo    '<input type="button" name="saccept-<?=$upload_id?>"   value="saccept" onclick="submit_this(this.name)"/><br>';
    echo    '<input type="button" name="sreject-<?=$upload_id?>"   value="sreject"       onclick="submit_this(this.name)"/><br>';
 }
echo '</form>';

你能不能用“$\u POST[”接受“.$upload\u id.”“]这个替换为“$\u POST[”接受“.$upload\u id]”不要在$upload\u id输入标记中使用“”引号,它会正常工作的。

你的代码有一些问题

首先

如果您想要多个提交表单,请键入shuld be按钮,您可以使用javascript来控制提交表单,并且在提交之前,您还可以向隐藏的输入字段传递一些值,例如,您可以设置隐藏的输入值=“接受”。$upload\u id.”

第二

在php文件中

$sql=“更新上传集状态='1'”

没有where条件,当然,这将更新您的所有记录

以你的形式

<form action="processor.php" method="post" id ='post_form'>
  <input type="hidden" name= "status" id="status" value="">
  <?php
    foreach($upload_arr as $upload_id){
  ?>
      <input type="button" name="accept-<?=$upload_id?>"   value="accept" onclick='submit_this(this.name);'/><br>
      <input type="button" name="reject-<?=$upload_id?>"  value="reject" onclick='submit_this(this.name);'/><br>
      <input type="button" name="saccept-<?=$upload_id?>"   value="saccept" onclick='submit_this(this.name);'/><br>
      <input type="button" name="sreject-<?=$upload_id?>"   value="sreject" onclick='submit_this(this.name);'/><br>
  <?php
    }
  ?>
</form>
<script>
function submit_this(name){
    document.getElementById('status').value = name;
    document.getElementById('post_form').submit();
}
</script>

函数提交_此(名称){
document.getElementById('status')。value=name;
document.getElementById('post_form').submit();
}
在您的php文件中

<?php
$status_pass = isset($_POST['status'])?$_POST['status']:NULL;

if(!empty($status_pass)){
    $status_arr = explode('-', $status_pass);
    $action  = $status_arr[0];
    $upload_id = $status_arr[1];

    if($action == 'accept'){
        $status = 1;
    }
    if($action == 'reject'){
        $status = 2;
    }
    if($action == 'saccept'){
        $status = 3;
    }
    if($action == 'sreject'){
        $status = 4;
    }

    $sql="UPDATE upload SET status='$status' where upload_id = '$upload_id' ";
    //execute sql here
}


?>


如何在php代码中设置$upload\u id?是否只需要添加where子句<代码>更新上载集状态=4,其中id=是的,先生,这是我的问题,我必须写什么样的例子,在哪里,因为b应该等于在accept2 secnd图像中单击的按钮的值,状态应该更改为1..这就是我想要processor.php中的表单中的按钮值,我无法发送..请帮助@moob您所说的“…我无法发送”是什么意思?当你点击提交按钮时会发生什么?表格提交了吗?先生,我有4个按钮用于一张图片,我现在通过单击特定按钮获取了多张图片,如image1的acept、reject、saccept、sreject按钮状态应分别更改为1、2、3、4,但单击任何按钮状态都不会更改@moobleme try btw thnx以获得如此快速的响应^echo$\u POST[“接受”.$upload_id];没有任何展品:(嗨,我在我的回答中写了什么?没有必要复制粘贴你的意思是在形式上我必须更改:OAACCEPT-不要用在echo语句中,你可以使用简单的accept-$upload\u ID请你详细解释一下……我知道整个字段都会更新,这就是我被卡住的地方,在哪里条件下写什么,请告诉我你所说的细节。)t javascript..Thank我已经写下了代码,但这不是唯一的选项。先生,我尝试了你的代码…但在输出中没有显示按钮错误就像警告:为foreach()提供的参数无效..$upload\u arr是一个数组,放入所有上传的\u id,在用于foreach之前必须给它赋值…好的,先生,我现在尝试在$upload\u数组中赋值,我希望它能正常工作:)thanx先生回答,但我想id=“post\u form”而id=“post\u form”仍然面临问题:\警告:为foreach()提供的参数无效$upload\u arr是一个数组,将所有上载的\u id放入其中,在用于foreach之前必须为其指定一个值…现在它已成功执行,但状态力从我开始的位置更改为0:(还有一件事我想在定义数组时通知您,如果我创建了3个上载id的数组,如$upload\u arr=ARRARY(“1”、“2”、“3”);比一张图片多出4+4+4=12个按钮,因此我必须使其成为一张图片,一张图片只能有4个按钮。。
<?php
$status_pass = isset($_POST['status'])?$_POST['status']:NULL;

if(!empty($status_pass)){
    $status_arr = explode('-', $status_pass);
    $action  = $status_arr[0];
    $upload_id = $status_arr[1];

    if($action == 'accept'){
        $status = 1;
    }
    if($action == 'reject'){
        $status = 2;
    }
    if($action == 'saccept'){
        $status = 3;
    }
    if($action == 'sreject'){
        $status = 4;
    }

    $sql="UPDATE upload SET status='$status' where upload_id = '$upload_id' ";
    //execute sql here
}


?>