2019鐵人賽
PHP
CRUD
由於我是個初學者,如果看不到前端面實在有些不知所措,所以在實作 CRUD 的同時,我也會簡單使用一些 html 語法來設計 web 前端,不求美觀,希望大家不用太計較。
當然,如果要專心設計後端程式,不可能每次測試都幫自己刻一個 web 界面出來,網路上也有個好工具,我後面在整理介紹給大家。
PS:為了方便邊做邊測試,CRUD 的順序我會稍微調整一下。
我們作一個表格可以顯示會員的名字,生日,eamil,最後一個欄位讓使用者可以修改,刪除。
新建一個檔案 index.php
程式碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>會員資料的 CRUD 練習</title>
</head>
<body>
<h1 align = "center">會員資料總表</h1>
<p align= "center">目前資料筆數:,<a href='create.php'>新增資料</a></p>
<table border="1" align = "center">
<tr>
<th>ID</th>
<th>姓名</th>
<th>生日</th>
<th>Email</th>
<th>編輯</th>
</tr>
</table>
</body>
</html>
效果如下:
連結本機的 MySQL,並讀取資料庫(class)中的資料表(members)資料。
<?php
//1. 引入程式檔
include("connMySQL.php");
//2. 加入sql 語法,白話文:從 members 的資料表中選擇所有欄位,並依照 cID 遞增排序
$sql_query = "SELECT * FROM members ORDER BY cID ASC";
//3. 使用 mysqli_query() 函式可以在 MySQL 中執行 sql 指令後會回傳一個資源識別碼,否則回傳 False。
$result = mysqli_query($db_link,$sql_query);
//4. 使用 mysqli_num_rows() 函式來取得資料筆數
$total_records = mysqli_num_rows($result);
?>
<!DOCTYPE html>
<html>
<head>
...略
我們已經取得資料表的內容,接下來是把它依序呈現在表格中
利用 while 迴圈,判斷是否取得資料內容,如果有資料就秀出資料,沒有則跳離迴圈。
因為資料要呈現在表格之中,所以 while 迴圈要嵌套在 html 語法裡面的 table 標籤中。
PS:除此之外,我們也要將資料筆數秀出來,所以在「目前資料筆數:」後面要加上 <?php echo $total_records;?>
完整程式碼如下
<?php
include("connMySQL.php");
$sql_query = "SELECT * FROM members ORDER BY cID ASC";
$result = mysqli_query($db_link,$sql_query);
$total_records = mysqli_num_rows($result);
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>會員資料的 CRUD 練習</title>
</head>
<body>
<h1 align = "center">會員資料總表</h1>
<p align= "center">目前資料筆數:<?php echo $total_records;?>,<a href='create.php'>新增資料</a></p>
<table border="1" align = "center">
<tr>
<th>ID</th>
<th>姓名</th>
<th>生日</th>
<th>Email</th>
<th>編輯</th>
</tr>
<?php
while($row_result = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>".$row_result['cID']."</td>";
echo "<td>".$row_result['cName']."</td>";
echo "<td>".$row_result['cBirthday']."</td>";
echo "<td>".$row_result['cEmail']."</td>";
echo "<td><a href='update.php?id=".$row_result['cID']."'>修改</a> ";
echo "<a href='delete.php?id=".$row_result['cID']."'>刪除</a></td>";
echo "</tr>";
}
?>
</table>
</body>
</html>
結果如下