<p> 留言者:[<?php echo $row_RS_mb['mb_id']; ?>] <?php echo $row_RS_mb['mb_name']; ?> [<?php echo $row_RS_mb['mb_time']; ?>] <a href="mb_modify.php?mb_id=<?php echo $row_RS_mb['mb_id']; ?>">修改</a> </p>
修改內容的表單相當於新增的表單, 可以拷貝過來再修改。
<form method="post" action="mb_modify.php" class="mbForm"> <input type="text" name="mb_name" maxlength="20" require placeholder="請輸入留言者姓名"> <textarea name="mb_content" rows="5" require placeholder="請輸入留言內容....."></textarea> <input type="submit" value="確定更新留言"> <input type="reset" value="清除重寫"> <input type="hidden" name="mb_id" value=""> </form>
CSS的部份與mb_index.php相同, 可以拷貝過來。
<?php require_once('../shared/conn.php'); include('../shared/assist.php'); //如果沒有需要時區及session功能, 那麼 assist.php 檔案也可以不引入 //查詢出要修改的資料============== $mb_id = -1; if( isset($_GET['mb_id']) ){ $mb_id = $_GET['mb_id']; } $sql_str = "SELECT * FROM mb WHERE mb_id = $mb_id"; $RS_mb = mysqli_query($conn, $sql_str); $row_RS_mb = mysqli_fetch_assoc($RS_mb); print_r($row_RS_mb); ?>
<h1>修改[<?php echo $row_RS_mb['mb_id']; ?>]留言</h1> <form method="post" action="mb_modify.php" class="mbForm"> <!-- 在留言者欄位中加上 value 屬性 --> <input type="text" name="mb_name" maxlength="20" require placeholder="請輸入留言者姓名" value="<?php echo $row_RS_mb['mb_name']; ?>"> <!-- 在留言內容標籤之中加上 留言內容 的資料,標籤頭尾之間即為內容,程式碼不適合換行及空格 --> <textarea name="mb_content" rows="5" require placeholder="請輸入留言內容....."><?php echo $row_RS_mb['mb_content']; ?></textarea> <input type="submit" value="確定更新留言"> <input type="reset" value="清除重寫"> <input type="hidden" name="mb_id" value="<?php echo $row_RS_mb['mb_id']; ?>"> </form>
在 mb_modify.php 檔案的最上方設計更新資料庫的資料,
這個部份與新增資料的概念是接近的,也可以自 mb_index.php 將新增資料的程式碼拷貝過來修改。
//判斷是否來自表單送出了資料, 要更新資料============ if( isset($_POST['mb_name']) ){ //接收表單輸入的資料 $mb_name = $_POST['mb_name']; $mb_content = $_POST['mb_content']; $mb_id = $_POST['mb_id']; //組合更新資料庫這一筆記錄的語法 $sql_str = "UPDATE mb SET mb_name = '$mb_name', mb_content = '$mb_content' WHERE mb_id = $mb_id"; $result = mysqli_query($conn, $sql_str); header('Location:mb_index.php'); }
可以測試修改留言工作了!
</html> <?php mysqli_free_result($RS_mb); //釋放資料資 mysqli_close($conn); //關閉資料庫的連線 ?>