・「投稿」は投稿にチェックかつボタン押下で入力内容を新規に投稿
・チェックボックスには各投稿のIDをvalueに設定し、ボタン押下で受け取れるようにして
・「更新」は更新にチェックかつボタン押下で一覧のなかからチェックをつけた投稿に対し、名前・内容の入力値で内容を更新
・「削除」は削除にチェックかつボタン押下で一覧のなかからチェックをつけた投稿を削除
という動作にしたいんですが、それぞれブラウザ表示はされるけどボタンを押しても動作確認ができない状態です
調べてPHPコードをif文毎に書けば出力可能とあったので打ってみたんですが、このコードだと「投稿」は出来て、「更新」「削除」は各ボタンが出力されただけで動作は何もありませんでした
調べてみて恐らくフォームではなくPHPコードでおかしい点があるんじゃないか、という疑いはあるんですが、私が調べる限り有力な情報が得られなかったです
どなたかご指摘願います
PHP
1<?php 2 $link = mysqli_connect($host, $user, $password, $dbname) or die("NG"); 3 4 mysqli_select_db($link, "XXX"); 5 6 if (isset($_POST['name'], $_POST['comment'])) { 7 $name = $_POST['name']; 8 $comment = $_POST['comment']; 9 mysqli_query($link, "INSERT INTO XXX (name, comment) VALUES ('$name', '$comment')"); 10 } 11 12 if (isset($_POST['update'])) { 13 $update = $_POST['update']; 14 mysqli_query($link, "UPDATE XXX SET name = '$name', comment = '$comment' WHERE id = $update"); 15 } 16 17 if (isset($_POST['delete'])) { 18 $delete = $_POST['delete']; 19 mysqli_query($link, "DELETE FROM XXX WHERE id = $delete"); 20 } 21 22 $result = mysqli_query($link, "SELECT * FROM XXX"); 23?> 24 25<html> 26 <head> 27 <meta http-equiv="content-type" content="text/html; charset=utf-8"> 28 </head> 29 <body> 30 <form method="post" action=""> 31 <table> 32 <tr> 33 <td> 34 名前:<input type="text" name="name"> 35 内容:<textarea name="comment" cols="30" rows="3"></textarea> 36 <input type="radio" name="bbs" value="post" checked> 37 <input type="submit" name="post" value="投稿"> 38 <input type="radio" name="bbs" value="update"> 39 <input type="submit" name="update "value="更新"> 40 <input type="radio" name="bbs" value="delete"> 41 <input type="submit" name="delete" value="削除"> 42 </td> 43 </tr> 44 </table> 45 46<?php 47 while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { 48?> 49 50 <table> 51 <input type="checkbox" name="bbs[]" value="<? = $row['$id'] ?>"> 52 <tr> 53 <td>名前: 54 <?php echo $row['name'] ?> 55 </td> 56 </tr> 57 <tr> 58 <td>内容: 59 <?php echo $row['comment'] ?> 60 </td> 61 </tr> 62 </table> 63 64<?php 65 }; 66 mysqli_free_result($result); 67 68 mysqli_close($link); 69?> 70 71 </form> 72 </body> 73</html>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/08/09 06:53
2016/08/09 06:59
2016/08/09 07:31
2016/08/09 07:37