嗨,朋友们,请告诉我哪里错了,因为数据库仍然没有变化,即使成功地执行了更新查询
这是表单代码
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 (一个php变量),它具有行上传id,例如,对于第一个图像,reject1,saccept1和sreject1,对于第二个图像,它是accept2 reject2等等。
现在是processor.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());
}发布于 2013-10-08 07:46:30
以你的形式
<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
}
?>发布于 2013-10-08 06:59:13
请用$_POST"accept'.$upload_id.'"替换$_POST"accept".$upload_id好吗?
发布于 2013-10-08 07:02:37
不要为$upload_id输入标签使用'‘引号,它会正常工作的
https://stackoverflow.com/questions/19241016
复制相似问题