0

こんにちは友人 更新クエリが正常に実行されてもデータベースがまだ変更されていないため、どこが間違っているか教えてください ありがとう

ここにフォームコードがあります

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>';

注:ここでは、行[アップロードID]を持つphp変数である$upload_idを使用しました。つまり、最初の画像ではaccept 1、reject1、saccept1 ans reject1、2番目の画像では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());

}
4

4 に答える 4

0

$upload_id 入力タグに '' 引用符を使用しないでください。適切に機能します

于 2013-10-08T07:02:37.610 に答える
0

$_POST["accept'.$upload_id.'"]$_POST["accept".$upload_id] に置き換えてください

于 2013-10-08T06:59:13.677 に答える