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
}
?>