iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
自我挑戰組

HTML、 PHP CRUD 自我學習系列 第 9

第09天 - PHP刪除MySQL資料表內容

  • 分享至 

  • xImage
  •  

延續昨天的文章,今天來做PHP資料表內容的刪除(不影響結構)。

1.首先要用到的是 【FORM標籤】,它可以讓你的按鈕或是輸入框之類的變得有作用。
<form method="post" action=""></form>

【FORM標籤】裡面的 method 我知道得有 post、get 兩種模式,然後 除了【搜尋】或是【分頁(頁碼)】會用到get,其他情況我都只會到post。
而 【action】裡面的值可以填寫檔案名稱,用途就是被這【FORM標籤】包起來的按鈕之類的,他們會依據哪裏的程式碼執行動作;如果空白的話,就代表只依據"本地"檔案(程式碼寫在同個檔案的意思,但有時候為了方便閱讀,會把程式碼額外寫在別的檔案)

刪除按鈕準備完成,會是這個樣子
因為刪除是一件蠻嚴重的事情,所以做了一個JS來確認刪除。

<form method="post" action="" >
    <!-- 下面有個 input 是讓待會的PHP 知道要刪除哪一筆資料,然後用type="hidden"隱藏起來 -->
    <input type="hidden" name="delete_id" value="<?php echo $row['staff_id']; ?>">
    <button name="delete_staff" 
            class="badge badge-danger"
            onclick="javascript:return del();">
            刪除
    </button>
</form>

<!-- 刪除確認的JS -->
<script type="text/javascript">
function del() 
{
	var msg = "您真的確定要刪除嗎?\n\n請確認!";
	if (confirm(msg)==true)
	{
		return true;
	}
	else
	{
		return false;
	}
};
</script>

PHP程式碼

<?php
/*刪除資料表內容*/

//isset 可當作"按下去"
//$_POST就是 FORM標籤的post,裡面的值,就是標籤裡的name值
//"按下去"哪個東西呢? >> 有name="delete_staff" 的標籤
if (isset($_POST['delete_staff'])) 
{
	$id2 = $_POST['delete_id']; //input type="hidden"的內容
	$query2 = "DELETE FROM staff WHERE staff_id='$id2' ";//資料庫語法看一下
	$query_run2 = mysqli_query($con,$query2);//這個要加,否則上面動作都白做了
}
?>

整體程式碼大概長這樣

<?php
/*刪除資料表內容*/
if (isset($_POST['delete_staff'])) 
{
	$id2 = $_POST['delete_id'];
	$query2 = "DELETE FROM staff WHERE staff_id='$id2' ";
	$query_run2 = mysqli_query($con,$query2);
}
?>

<body>
<div class="container">
	<table class="table table-sm table-bordered"style="text-align:center;">
		<thead style="text-align:center;">
			<tr style="text-align:center;">
				<th>檔案類別</th>
				<th>會員姓名</th>
				<th>會員等級</th>
				<th>刪除</th>
			</tr>
		</thead>

		<tbody>
			<?php 
				$query = "SELECT * FROM staff  "; 
				$query_run = mysqli_query($con,$query); //$con <<此變數來自引入的 db_cn.php
			
				if(mysqli_num_rows($query_run) > 0)
				{
					foreach($query_run as $row)
					{
			?>
            <tr>
                <td><?php echo $row['staff_id']; ?></td> 
                <td><?php echo $row['staff_name']; ?></td> 
                <td><?php echo $row['staff_role']; ?></td>
                <td>
                    <form method="post" action="" > 
                        <!-- 下面有個 input type="hidden" 是讓待會的PHP 知道要刪除哪一筆資料 -->
                        <input type="hidden" 
                               name="delete_id" 
                               value="<?php echo $row['staff_id']; ?>">
                        <button name="delete_staff" 
                                class="badge badge-danger"
                                onclick="javascript:return del();">
                            刪除
                        </button>
                      </form>
                 </td>
            </tr>
			<?php
				  }
				}
			?>
		</tbody>
	</div>
</body>

<!-- 刪除確認的JS -->
<script type="text/javascript">
function del() 
{
	var msg = "您真的確定要刪除嗎?\n\n請確認!";
	if (confirm(msg)==true)
	{
		return true;
	}
	else
	{
		return false;
	}
};
</script>

今天先這樣,下次見。


上一篇
第08天 - PHP 列印出MySQL資料表的內容
下一篇
第10天 - PHP新增MySQL資料表內容
系列文
HTML、 PHP CRUD 自我學習30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言