各店舗(id)のリーダー(leaders)に、なる(value=2)ならない(value=3)をupdateしたいのですが以下のコードを実行してもカラムの値が変わることはありません。
正しいコードを教えて頂きたいのですが、どなたかご教授をよろしくお願い致します。
<form method="post" action="approval.php"> <?php try { $dsn='mysql:dbname=xxx;host=xxx;charset=utf8'; $user='xxx'; $password='xxx'; $dbh=new PDO($dsn,$user,$password); $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql="SELECT * FROM user_list WHERE group_name=? && leader=0"; $stmt=$dbh->prepare($sql); $data[]=$_SESSION['group_name']; $stmt -> execute($data); $dbh=null; while(true) { $rec=$stmt->fetch(PDO::FETCH_ASSOC); if($rec==false) { break; } print '<tr><td><input type="checkbox" name="leaders['; print htmlspecialchars( $rec['id'], ENT_QUOTES); print ']" value="2" checked="checked"></td>'; print '<td><input type="checkbox" name="leaders['; print htmlspecialchars( $rec['id'], ENT_QUOTES); print ']" value="3"></td>'; print '<td>'; print $rec['name']; print '</td>'; print '<td>'; print $rec['request_day']; print '</td></tr>'; print'<input type="hidden" name="ids[]" value="'; print htmlspecialchars( $rec['id'], ENT_QUOTES); print'">'; } print '</table >'; print '<div> </div>'; print'<input type="submit" value="返答をメールする" name="change"/>'; print'</form>'; } catch (Exception $e) { print '<div> </div>'; print '<div> </div>'; print '<font color="green">'; print 'ただいまシステム障害により本サービスを利用することができません。</br></br>大変ご迷惑をお掛けしております。'; print '</font>'; exit(); } } ?> <input type="submit" value="返答をメールする" name="change"/> </form>
approval.php
<?php if($_SERVER["REQUEST_METHOD"] == 'POST' ) { $leaders = $_REQUEST['leaders']; $ids = $_REQUEST['ids']; $pdo = new PDO("mysql:host=xxx; dbname=xxx; charset=utf8", "xxx", "xxx", array( PDO::ATTR_EMULATE_PREPARES => false ) ); $ins = array(); for($i=0; $i<count($ids); $i++) { $ins[] = ":id{$i}"; } $sql = "update user_list set leader=:leader where id in (" . implode(', ',$ins) . ")"; $condition = array(":leader" => $leaders); for($i=0; $i<count($ids); $i++) { $condition[":id{$i}"] = $ids[$i]; } $statement = $pdo->prepare( $sql ); $result = $statement->execute( $condition ); } ?>
![guest](/img/icon/icnUserSample.jpg)
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/15 09:06
2017/02/15 09:36 編集
2017/02/15 10:08
2017/02/15 10:12
2017/02/15 10:36
2017/02/15 11:26
2017/02/15 11:39
2017/02/15 11:56
2017/02/15 11:59