テキストエリアにMySQLに格納したデータを表示させ、それを編集してMySQLにUPDATEしたいです。
SELECT文でテキストエリア内に表示するところまではできたのですが、上手くUPDATEできません。おわかりになる方、どうぞお力をおかしください、よろしくお願いします。
create table timer (menu_id int, menu_list varchar(255), note varchar(255), user int, total_time time, timestamp timestamp);
|menu_id|menu_list|note|user|total_time|timestamp
|:--|:--:|--:|
|1|タイトル|メモメモメモ|1000|1:30|1546365845|
PHP
1<?php 2 3// xampp 4$db['db_host'] = "localhost"; 5$db['db_user'] = "root"; 6$db['db_pass'] = "***"; 7$db['db_name'] = "timer"; 8 9foreach($db as $key => $value){ 10define(strtoupper($key), $value); 11} 12 13$connection = mysqli_connect(DB_HOST, DB_USER, DB_PASS, DB_NAME); 14 15?>
PHP
1ヘッダー 2<?php include "../includes/db.php"; ?> 3<?php // session_start(); ?> // 仮で入れてあります。 4 5本文 6 <div class="container-fluid"> 7 8 <?php 9 if(isset($_GET['edit'])) { 10 $user = $_SESSION['user']; 11 $post_menu_list = $_POST['menu_list']; 12 $post_note = $_POST['note']; 13 $get_menu_id = $_GET['menu_id']; 14 15 $query_menu_list = "UPDATE menu SET menu_list = '{$post_menu_list}' "; 16 $query_menu_list .= "WHERE menu_id = '{$get_menu_id}'"; 17 $result_menu_list = mysqli_query($connection, $query_menu_list); 18 19 $query_note = "UPDATE menu SET note = '{$post_note}' "; 20 $query_note .= "WHERE menu_id = '{$get_menu_id}'"; 21 $result_note = mysqli_query($connection, $query_note); 22 } 23 ?> 24 25 <!-- Page Heading --> 26 <div class="row"> 27 <div class="col-lg-12"> 28 <h1 class="page-header"> 29 設定画面 30 <small>ユーザID: <?php echo $_SESSION['user']; ?></small> 31 </h1> 32 <div class="col-xs-6"> 33 <form action="index.php" method="post"> 34 <div class="form-group"> 35 <label>メニュー</label> 36 <input type="text" class="form-control" name="menu_list" value="<?php 37 if(isset($_GET['menu_id'])){ 38 $getmenuid = $_GET['menu_id']; 39 $query = "SELECT * FROM menu WHERE menu_id = '{$getmenuid}'"; // WHERE user = '{$user}' 後で追加 40 $select_note_query = mysqli_query($connection, $query); 41 while($row = mysqli_fetch_array($select_note_query)) { 42 $note = $row['menu_list']; 43 echo $note; 44 } 45 } 46 ?>"> 47 </div> 48 <div class="form-group"> 49 <label for="cat-title">メモ</label> 50 <textarea class="form-control" name="note" rows="10"><?php 51 if(isset($_GET['menu_id'])){ 52 $query = "SELECT * FROM menu WHERE menu_id = '{$getmenuid}'"; // WHERE user = '{$user}' 後で追加 53 $select_note_query = mysqli_query($connection, $query); 54 while($row = mysqli_fetch_array($select_note_query)) { 55 $note = $row['note']; 56 echo $note; 57 } 58 } 59 60 ?></textarea> 61 <small id="emailHelp" class="form-text text-muted">現在のタスクの取り掛かり中の内容をメモしてください</small> 62 </div> 63 <div class="form-group"> 64 <?php if(isset($_GET['menu_id'])) { 65 echo "<input class='btn btn-primary' type='submit' name='edit' value='編集'>"; 66 } else { 67 echo "<input class='btn btn-primary' type='submit' name='submit' value='登録'>"; 68 } 69 ?> 70 71 </div> 72 </form> 73 </div> 74 75 <div class="col-xs-6"> 76 <table class="table table-bordered table-hover"> 77 <thead> 78 <tr> 79 <th>メニュー</th> 80 <th>累積時間</th> 81 <th>セット</th> 82 <th>編集</th> 83 <th>削除</th> 84 </tr> 85 </thead> 86 <tbody> 87 <?php 88 $query = "SELECT * FROM menu"; // WHERE user = '{$user}' 後で追加 89 90 $select_menu_query = mysqli_query($connection, $query); 91 while($row = mysqli_fetch_array($select_menu_query)) { 92 $menu_id = $row['menu_id']; 93 $menu_list = $row['menu_list']; 94 $total_time = $row['total_time']; 95 echo "<tr>"; 96 echo "<th>{$menu_list}</th>"; 97 echo "<th>{$total_time}</th>"; 98 echo "<th>セット</th>"; // 本番にセット 99 echo "<th><a href='index.php?menu_id={$menu_id}'>編集</a></th>"; 100 echo "<th>削除</th>"; 101 echo "</tr>"; 102 } 103 104 ?> 105 </tbody> 106 </table> 107 </div> 108 109 110 </div> 111 </div> 112 <!-- /.row --> 113 114 </div>
以上、テキストエリア内に表示はできるのですが、UPDATEがMySQLに入りません。
環境は、
XAMP
フレームワークはBootstrapを使っています。
登録(INSERT)のロジックはまだ作っておらず、
editボタンを押した時にMySQLにUPDATEしたいです。
お手数をおかけしますが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/06/11 01:25
2019/06/12 06:15