PHP MySQL Display Data Master-Detail (mysqli) |
PHP MySQL Display Data Master-Detail (mysqli) บทความนี้จะเป็นตัวอย่างของ mysqli การเขียน PHP เพื่ออ่านข้อมูลจาก Database ของ MySQL มาแสดงผลทางหน้าจอในรูปแบบของ Master-Detail ด้วย function ต่าง ๆ ของ mysqli ทำงานร่วมกับการ fetch ข้อมูลในรูปแบบของ array
MySQL Table
CREATE TABLE `customer` (
`CustomerID` varchar(4) NOT NULL,
`Name` varchar(50) NOT NULL,
`Email` varchar(50) NOT NULL,
`CountryCode` varchar(2) NOT NULL,
`Budget` double NOT NULL,
`Used` double NOT NULL,
PRIMARY KEY (`CustomerID`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
INSERT INTO `customer` VALUES ('C001', 'Win Weerachai', '[email protected]', 'TH', 1000000, 600000);
INSERT INTO `customer` VALUES ('C002', 'John Smith', '[email protected]', 'UK', 2000000, 800000);
INSERT INTO `customer` VALUES ('C003', 'Jame Born', '[email protected]', 'US', 3000000, 600000);
INSERT INTO `customer` VALUES ('C004', 'Chalee Angel', '[email protected]', 'US', 4000000, 100000);
ฐานข้อมูลและตารางของ MySQL Database
Syntax รูปแบบการใช้งาน
$strCustomerID = "C001";
$sql = "SELECT * FROM customer WHERE CustomerID = '".$strCustomerID."' ";
$query = mysqli_query($conn,$sql);
$result=mysqli_fetch_array($query,MYSQLI_ASSOC);
if($result)
{
echo $result["CustomerID"];
}
Example ตัวอย่างการเขียน PHP กับ MySQL เพื่อแสดงรายการข้อมูลแบบ Master-Detail ด้วย function ของ mysqli
list.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT * FROM customer";
$query = mysqli_query($conn,$sql);
?>
<table width="600" border="1">
<tr>
<th width="91"> <div align="center">CustomerID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Email </div></th>
<th width="97"> <div align="center">CountryCode </div></th>
<th width="59"> <div align="center">Budget </div></th>
<th width="71"> <div align="center">Used </div></th>
<th width="71"> <div align="center">Detail </div></th>
</tr>
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
<tr>
<td><div align="center"><?php echo $result["CustomerID"];?></div></td>
<td><?php echo $result["Name"];?></td>
<td><?php echo $result["Email"];?></td>
<td><div align="center"><?php echo $result["CountryCode"];?></div></td>
<td align="right"><?php echo $result["Budget"];?></td>
<td align="right"><?php echo $result["Used"];?></td>
<td align="right"><a href="detail.php?CustomerID=<?php echo $result["CustomerID"];?>">Detail</a></td>
</tr>
<?php
}
?>
</table>
<?php
mysqli_close($conn);
?>
</body>
</html>
detail.php
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "sa";
$userPassword = "";
$dbName = "mydatabase";
$strCustomerID = null;
if(isset($_GET["CustomerID"]))
{
$strCustomerID = $_GET["CustomerID"];
}
$serverName = "localhost";
$userName = "root";
$userPassword = "root";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT * FROM customer WHERE CustomerID = '".$strCustomerID."' ";
$query = mysqli_query($conn,$sql);
$result=mysqli_fetch_array($query,MYSQLI_ASSOC);
?>
<table width="284" border="1">
<tr>
<th width="120">CustomerID</th>
<td width="238"><?php echo $result["CustomerID"];?></td>
</tr>
<tr>
<th width="120">Name</th>
<td><?php echo $result["Name"];?></td>
</tr>
<tr>
<th width="120">Email</th>
<td><?php echo $result["Email"];?></td>
</tr>
<tr>
<th width="120">CountryCode</th>
<td><?php echo $result["CountryCode"];?></td>
</tr>
<tr>
<th width="120">Budget</th>
<td><?php echo $result["Budget"];?></td>
</tr>
<tr>
<th width="120">Used</th>
<td><?php echo $result["Used"];?></td>
</tr>
</table>
<?php
mysqli_close($conn);
?>
</body>
</html>
Screenshot
แสดงข้อมูลจาก MySQL ด้วย function ของ mysqli ซึ่งสามารถคลิกดู Detail ได้
แสดง Master-Detail ของรายการทีคลิก
|