在一个表单中有多个按钮,每个按钮都应该能够更新数据库
having multiple buttons in one form and every button should be able to update database
嗨,朋友们,请告诉我哪里错了,因为即使更新查询成功执行,数据库仍然没有变化谢谢
这是表单代码
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>';
注意:这里我使用了 $upload_id 一个具有行 [上传 id] 的 php 变量,即它就像第一个图像的接受 1,拒绝 1,saccept1 和 sreject1,对于第二个图像它是 accept2 拒绝 2 等等
现在是处理器的代码.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;
}
echo $status;
$sql="UPDATE upload SET status='$status' where upload_id = '$upload_id' ";
echo "update success";
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
}
中的
<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>
在你的 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
}
?>
你能用$_POST["accept".$upload_id]
_POST["accept'.$upload_id."]吗
不要对 $upload_id 输入标签使用"引号,然后它会正常工作
你的代码存在一些问题
第一
如果要多个提交表单,键入shuold be按钮,可以使用javascript来连接提交表单,而在提交之前,还可以将一些值传递给隐藏的输入字段,作为您的示例,您可以设置隐藏输入值="accept'.$upload_id。
第二
在您的 PHP 文件中,
$sql="更新上传设置状态='1'";
没有地方条件,当然,这将更新您的所有记录。
相关文章:
- HTML按钮刷新页面而不是将数据发送到数据库
- 按钮,用于更改Rails中的数据库值
- 如何在单击时使切换按钮发布到数据库
- 从数据库加载记录,不带提交按钮的下拉选择
- HTML5数据库保存了详细信息以及一个按钮
- 在窗体中间单击按钮查询数据库
- 单击按钮将值添加到数据库
- 当我按下getroute按钮时,我希望我的javascript变量存储在数据库中
- 如何在使用jquery向数据库发送数据时取消激活的按钮
- 使用AJAX/PHP让HTML按钮将数据插入MySQL数据库
- 切换(单选按钮)到数据库的值
- 如何将数据库中查询到的数据放在下拉列表和可点击按钮中
- 单击按钮可多次动态添加选择框、文本框和日期,并将这些值插入数据库
- 单击按钮上的添加/追加动态数据库(SQL)选择框
- 当当前时间距数据库中设置的时间不到一小时时,如何禁用按钮
- 按钮单击“更新数据库”
- 如何访问HTML中的属性值以保存在数据库中单击按钮
- 如何使用 JavaScript 函数在 JSP 中使用按钮移动到数据库的最后一条记录
- 使用 Json 如何根据数据库中的值选择单选按钮
- 流星:如何根据数据库中的值设置单选按钮的值