第11天 - PHP修改MySQL资料表内容

今天来做从网页修改MySQL资料表内容(修改会员的名称)

首先要做出一个修改按钮(虽然说是按钮,但我用带有超连结功能的【a标签】来实行)如下

<a href="staff_edit.php?ST_EDIT=<?php echo $row['staff_id'];?>" 
   class="badge badge-info">
   修改
</a>

而上面的程序码,可以参考第09天的文章,放在相对的位置(我放在删除按钮的旁边)
https://ithelp.ithome.com.tw/articles/10261775
https://ithelp.ithome.com.tw/upload/images/20210911/2014135531Bt5LGDnh.png

再来就是 新建立一个.PHP档 (我取名staff_edit.php),注意【a标签】的内容有staff_edit.php
而 问号 後面的 ST_EDIT= 有一个地方会用到,如下:

<?php
/*储存修改会员名称*/
if(isset($_POST['staff_edit_btn']))
{
	
	$st_name = $_POST['staff_edit'];
	$st_id =$_POST['ST_ID'];
	$query2="UPDATE staff
			 SET staff_name ='$st_name'
			 WHERE staff_id ='$st_id' ";

	$query_run2 = mysqli_query($con,$query2);
	if($query_run2)
	{
		//修改成功则回到上个页面(或其他指定页面)
		header('Location: Hello.php');
	}
	else
	{
		//修改失败则停留在此页面
		header('Location: staff_edit.php');
	}
}
?>
<body>
<div class="container">
<?php
    //这里有用到【a标签】的内
    //此页面内容是要抓【a标签】所带来的<?php echo $row['staff_id'];?>(会员id)
    //因为会员id不会重复,所以才知道要抓(GET)哪个来进行修改会员名称
	$ST_ID = $_GET['ST_EDIT'];
    
	$query = "SELECT * FROM staff WHERE staff_id='$ST_ID' ";
	$query_run = mysqli_query($con,$query);
?>
<?php
	if(mysqli_num_rows($query_run) > 0)
	{
		foreach($query_run as $row)
		{
			?>
			<form method="POST">
				<div class="form-group">
					<!-- 注意下面的 input type="hidden" ,
						上面的PHP 要依据这来修改会员名称 -->
					<input type="hidden" name="ST_ID" value="<?php echo $row['staff_id'];?>">
					
					<label>修改会员名称:</label>
				    <input type="text" name="staff_edit" 
				    value="<?php echo $row['staff_name'];?>">
				</div>
				<button name="staff_edit_btn">储存修改</button>
			</form>

<?php
		}
	}
	else
	{
		echo "尚未建立任何会员等级";
	}
?>
</div>
</body>

操作结果
https://ithelp.ithome.com.tw/upload/images/20210911/201413557aA129KpgP.png

https://ithelp.ithome.com.tw/upload/images/20210911/20141355hvTm4Afgxb.png

https://ithelp.ithome.com.tw/upload/images/20210911/20141355R7PQL3xikX.png

做这个实作要注意的是记得要放 input type="hidden"的标签(里面的值要放具有唯一性的,如 会员ID << 虽然是修改会员名称,但还是要依靠ID才能实行),这样程序码才知道要依据哪个做修改。

今天就先这样,下次见。


<<:  错误处理

>>:  前端工程师也能开发全端网页:挑战 30 天用 React 加上 Firebase 打造社群网站|Day11 上传文章图片

SWOT和TOWS分析有什麽区别?

TOWS是什麽? TOWS 分析是经典商业工具 — SWOT 分析的变体,由 Heinz Weihr...

Date & time

上一篇在实作 EtaResponseMapper 的时候我们用了 Java 8 开始有的 Insta...

Day-03 Regression & Gradient Descent 介绍

我们昨天聊过了到底如何做机器学习,且也知道机器学习的核心概念是取得所谓的最佳 function,回...

DAY15: HTTP GET请求

今天要介绍的有点偏向处理HTPP请求的後续,在Web开发中,HTTP请求中最常用的就是Get与Pos...

Day10 Kibana - 过滤器

在前面几个章节中说明有关Query DSL的使用方式,可能会对有些人来说查询,还需要记一堆语法,所以...