第09天 - PHP删除MySQL资料表内容

延续昨天的文章,今天来做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>

今天先这样,下次见。


<<:  [13th-铁人赛]Day 4:Modern CSS 超详细新手攻略 - Display

>>:  30天轻松学会unity自制游戏-制作敌人

#13 Automation

自动化 (Automation) 指的是写出一个程序,让原本需要人工手动执行的多个步骤变成全部都由程...

【Day 24】Go:http server / request / gRPC 实际操作

今天是一些实作小练习, 稍微看了一些基础函式库, 跟着别人的文章用原生 net/http 做了会吐...

Day 11: 回到原生环境!在Android上展示Ktor资料!

Keyword: Android ViewModel,Coroutine,LiveData,Recy...

[Day17] 一级函式

这边从 008 的 Day5 开始,先跳过 Day3、Day4 篇浏览器的部分。 一级函式 函式是物...

17.unity显示/隐藏物件(SetActive)

想要制作一个假背包,利用按钮显示背包,再按下按钮关闭背包。 要使用GameObject.SetAct...