-1

ユーザー数のテーブルがあります

$listuser = mysql_query('SELECT id,firstname,lastname,approve FROM user');
echo '<form action="" method="post">';
echo '<table>
          <tr><td>Name</td>
              <td>AdminApprove</td>
          </tr>';
while($row = mysql_fetch_assoc($listuser))
{
  $id = $row['id'];
  $firstname = $row['firstname'];
  $lastname  = $row['lastname'];
  echo '<tr>
           <td><input type="hidden" name="id[]" value ='.$id.'></td>
           <td>'.$firstname.''.$lastname.'</td>
            <td><input type="checkbox" name="approve[]"></td>
        </tr>';
}
echo '<tr><td><input type="submit" name="submit" value="submit"></td></tr>';
echo '</table></form>';

フォーム送信後

   $postedid = $_POST['id'];
   $approve = isset($_POST['approve']) ? 1 : 0;   
   $approvestudent = 'UPDATE user SET approve = '.$approve.' WHERE id = '.$postedid.'';
   $result_update = mysql_query($approvestudent);  

生徒ごとに一度に 1 つ以上を承認したいのですが、承認されたチェックボックスの値を 0 または 1 でデータベースに保存する必要があります。

4

1 に答える 1

0

$_POST['id']文字列でも整数でもない配列です

PHPserialize()関数を使用して、配列を文字列に変換できます

 $postedid = $_POST['id'];
   $approve  = $_POST['approve'];

する必要があります

 $postedid = serialize($_POST['id']);
   $approve  = serialize($_POST['approve']);
于 2012-10-18T17:27:53.277 に答える