データベースからたくさんの情報を取得して、フォームに編集できるように並べて、フォームでたくさんのデータを配列にして送信後、配列で受け取ることをしていきたいと思います。6月29日
イメージ
ID | カラム1 | カラム2 |
1 | テキストエリアのフォーム1 | テキストエリアのフォーム1 |
2 | テキストエリアのフォーム2 | テキストエリアのフォーム2 |
3 | テキストエリアのフォーム3 | テキストエリアのフォーム3 |
・
・
・
送信ボタン
目次
データベースから引っ張ってきて、フォームにどんどんと格納していきます。データベースはEUC-JPの文字コードなので、ところどころでmb_convert_encodingしています。
<?php $dsn = 'mysql:dbname='.DB_NAME.';host='.DB_HOST.';port='.DB_PORT.''; $user = DB_USER; $password = DB_PASSWORD; try{ $dbh = new PDO($dsn, $user, $password); }catch (PDOException $e){ print('Connection failed:'.$e->getMessage()); die(); } $sql = "SELECT * FROM table_name"; $stmt = $dbh->query($sql); print '<form action="confirm.php" method="post">'; print '<table><tr><th>ID</th><th>カラム1</th><th>カラム2</th></tr>'; while($result = $stmt->fetch(PDO::FETCH_ASSOC)){ print '<input type="hidden" name="['.mb_convert_encoding($result["id"],"UTF-8","EUC-JP").'][id]">'; print '<tr>'; print '<td>'.mb_convert_encoding($result["id"],"UTF-8","EUC-JP").'</td>'; print '<td><textarea name="hoge['.mb_convert_encoding($result["id"],"UTF-8","EUC-JP").'][column1]" cols="20" rows="2">'.nl2br(htmlspecialchars(mb_convert_encoding($result["column1"],"UTF-8","EUC-JP"),ENT_QUOTES,"UTF-8")).'</textarea></td>'; print '<td><textarea name="hoge['.mb_convert_encoding($result["id"],"UTF-8","EUC-JP").'][column2]" cols="20" rows="2">'.nl2br(htmlspecialchars(mb_convert_encoding($result["column2"],"UTF-8","EUC-JP"),ENT_QUOTES,"UTF-8")).'</textarea></td>'; print '</tr>'; } print '</table><input type="submit" name="submit" value="確認"></form>'; ?>
まずは、var_dumpで受け取りましょう。
<?php var_dump($_POST); ?>
配列の送信が苦手という人はPOSTで受け取ったのをとりあえず表示させてみることをまずは行ってみるといいと思います。
以上