簡易教學
假設我們製作的是分班情況查詢程式,將使用PHP7的環境以PDO的方式連線MySQL。
通過學號和姓名查詢自己所在班級。
先來介紹檔案結構和資料庫結構:
PHP:
config.php 存放資料庫設定資訊
cx.php 查詢程式
index.html 使用者介面
結構如圖
MySQL:
表名:data
欄位:1.Sid 2.name 3.class
結構如圖
準備就緒,開始吧,現在!
首先構建使用者介面(index.html),兩個簡單的編輯框加上一個簡單的按鈕:
<!DOCTYPE html>
<html lang="cn">
<head>
<meta charset="UTF-8">
<title>分班查詢系統</title>
</head>
<body>
<form action="cx.php" method="post">
<p>學號:<input type="text" name="xuehao"></p>
<p>姓名: <input type="text" name="xingming"></p>
<p><input type="submit" name="submit" value="查詢"></p>
</form>
</body>
</html>
好嘞,接下來設定資料庫資訊(config.php)吧
<?php
$server="localhost";//主機的IP地址
$db_username="root";//資料庫使用者名稱
$db_password="123456";//資料庫密碼
$db_name = "data";
然後去編寫我們的主程式(cx.php)
<?php
header("Content-Type: text/html; charset=utf8");
if(!isset($_POST["submit"]))
{
exit("未檢測到表單提交");
}//檢測是否有submit操作
include ("config.php");
$Sid = $_POST['Sid'];//post獲得學號表單值
$name = $_POST['name'];//post獲得姓名錶單值
echo "<table style='border: solid 1px black;'>";
echo "<tr><th>學號</th><th>姓名</th><th>班級</th></tr>";
class TableRows extends RecursiveIteratorIterator
{
function __construct($it)
{
parent::__construct($it, self::LEAVES_ONLY);
}
function current()
{
return "<td style='width:150px;border:1px solid black;'>" . parent::current() . "</td>";
}
function beginChildren()
{
echo "<tr>";
}
function endChildren()
{
echo "</tr>" . "\n";
}
}
try {
$conn = new PDO("mysql:host=$server;dbname=$db_name", $db_username, $db_password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare("SELECT Sid, name, class FROM data where Sid=$Sid and name='$name'");
$stmt->execute();
// 設定結果集為關聯陣列
$result = $stmt->setFetchMode(PDO::FETCH_ASSOC);
foreach (new TableRows(new RecursiveArrayIterator($stmt->fetchAll())) as $k => $v) {
echo $v;
}
} catch (PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
echo "</table>";
到此程式就寫完啦
來試試看吧