สอนเขียนโปรแกรม PHP เพื่อหาผลรวมของ Column จากตารางข้อมูล (Table) โดยวัตถุประสงค์ของโปรแกรม คือ เพื่อหาผลรวมของ Column price ซึ่งเป็น Column ที่เก็บข้อมูลราคาของสินค้า ซึ่งผลลัพธ์ของโปรแกรมจะได้ดังนี้
ผลลัพธ์ แสดงผลรวมของราคาสินค้า (Column price)
รหัส | ชื่อ | ราคา |
1 | คอมพิวเตอร์ | 11000 |
2 | รองเท้า | 2200 |
3 | มือถือ | 8500 |
4 | นาฬิกา | 2500 |
5 | กระเป๋า | 1900 |
ผลรวม | 26100 |
1. สร้างฐานข้อมูลชื่อ db_example
2. รันคำสั่ง SQL ด้านล่างเพื่อสร้างตาราง product และเพิ่มสินค้าลงในตาราง
CREATE TABLE product (
id int(11) NOT NULL AUTO_INCREMENT,
title char(255) NOT NULL,
price int(11) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO product (id, title, price) VALUES
(NULL, 'คอมพิวเตอร์', 11000),
(NULL, 'รองเท้า', 2200),
(NULL, 'มือถือ', 8500),
(NULL, 'นาฬิกา', 2500),
(NULL, 'กระเป๋า', 1900)
3. เขียนโปรแกรม PHP วนลูปแสดงข้อมูล และแสดงผลรวม
<?php
$conn = new mysqli("localhost", "root", "", "db_example");
if ($conn->connect_errno) {
echo "ไม่สามารถเชื่อมต่อฐานข้อมูลได้เพราะ ".$mysqli->connect_error;
}
$conn->query( "SET NAMES UTF8" );
$sql = " SELECT * FROM product ";
$q = $conn->query( $sql );
$sum = 0;
echo "
<table border='1'>
<tr>
<td>รหัส</td>
<td>ชื่อ</td>
<td align='right'>ราคา</td>
</tr>
";
while( $f = $q->fetch_assoc() ) {
echo "
<tr>
<td>".$f['id']."</td>
<td>".$f['title']."</td>
<td>".$f['price']."</td>
</tr>
";
$sum += $f['price'];
}
echo "
<tr>
<td colspan='2'>ผลรวม</td>
<td>".$sum."</td>
</tr>
</table>
";
$conn->close();
?>
1. สร้างตัวแปร $sum ทำหน้าที่เก็บผลรวมของการวนลูปแต่ละรอบ โดยเริ่มต้นกำหนดให้มีค่าเท่ากับ 0
2. ในลูป while ให้ตัวแปร $sum มีการบวกค่าเพิ่มขึ้น (+=) โดยรับค่าจากตัวแปร $f['price'] ซึ่งเป็นตัวแปรที่เก็บข้อมูลราคาในการวนลูปแต่ละรอบ ทำให้แต่ละรอบตัวแปร $sum จะบวกค่าเพิ่มไปเรื่อยๆ ตามจำนวนการวนลูป
3. พอจบลูป while ก็นำตัวแปร $sum มาแสดงที่ส่วนด้านล่างของตาราง