PHP誕生於1995年,專門為了拿來開發動態網頁的開源語言,使用者(Client)透過 HTML 或是 JavaScript 將特定資料傳送至伺服器(Server),PHP依照商務邏輯處理後回傳資料,最有名的PHP網站應該非Facebook莫屬,現今許多由WordPress構成的網站也是基於PHP做開發的。
今天的例子回延續昨天的資料庫設計當主題:將使用者表顯示在頁面上。
首先寫出一個 HTML 並加入 Form tag, Form tag 能將資料指定的PHP檔案處理事情。
action填入要指向的PHP檔。
method有GET及POST兩種,今天先用GET當練習即可。
type為text的 input 讓使用者可以輸入要顯示幾筆資料。
type為submit的 input 讓使用者可以送出表單。
<!DOCTYPE html>
<html>
<head>
<title>Member list</title>
</head>
<body>
<h1>Click to list members</h1>
<form action='day8.php' method="GET">
<input type="text" name="limit" placeholder="limit">
<input type="submit">
</form>
</body>
</html>
1.接著創建一個day8.php檔案
2.php檔案的最上方記得加入<?php讓電腦可以辨識檔案類型
3.hostname 為資料庫的IP或是domain name
4.username 為使用者名稱,昨天安裝的XAMPP內建是用root(最大權限),如果是對外環境記得要做權限控管
5.password 為使用者密碼,XAMPP的root是不需要密碼的,就跟拿到你的信用卡就可以爆刷一波,是不是很危險?
6.databasename 為昨天創建的資料庫名稱
7.$_GET 可以取到form表單method為GET送出的參數,$_POST則為method為POST送出的參數
8.這邊有用到一個方法叫三元式,如果limit參數為空字串,也就是使用者沒有輸入,則回傳0筆資料,如果使用者有輸入筆數,那就設定回傳筆數
9.query為組合的請求字串,回全member表單的所有資訊,LIMIT指令則為限制回傳筆數
10.connect為一個資料庫連線物件,將準備好的資料庫訊息填入
11.result為送出指令後回傳的結果
12.接下來就是要將資料返回頁面了,因為不能有幾筆資料就要手動一行一行code去打,所以有了迴圈,可以將邏輯寫好在迴圈裡讓電腦幫你自動處理,比較常用的迴圈稍微提一下:while loop、do loop、for loop、foreach
13.fetch_assoc()會一個row的資料取出,配合while迴圈與echo即可回傳資料至頁面
14.最後寫一個回原本頁面的連結
15.儲存後將HTML及PHP檔案放到xampp的htdocs資料夾裡就可以使用了
<?php
$hostname = '127.0.0.1';
$username = 'root';
$password = '';
$databasename = 'iron_man';
$limit = $_GET['limit'] == '' ? 0 : $_GET['limit'];
$query = 'SELECT * FROM members LIMIT ' . $limit;
$connect = new mysqli($hostname, $username, $password, $databasename);
$result = $connect->query($query);
while ($data = $result->fetch_assoc()) {
echo $data['id'] . ' - ' .
$data['member_id'] . ' - ' .
$data['name'] . ' - ' .
$data['phone_number'] . ' - ' .
$data['created_at'] . "<br>";
}
echo "<a href='day8.html'>回原本頁</a>";
最原生的HTML、CSS、JavaScript、PHP的作法已經大致上介紹一遍了,接下來就要進入到現代化的網頁工程模式了,但這些最基礎的東西還是值得好好研究一下,畢竟現代化的框架也是架構在這些基礎之上的。
傳統的東西就介紹到這邊結束了,明天要開始進入Modern Web了,謝謝觀看的各位,請記得按讚分享開啟小鈴鐺,你的支持會讓按讚數+1。