Devdit
 

PHP วิธีหาผลรวมของ Column จากตารางข้อมูล

8.1K

สอนเขียนโปรแกรม 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();
?>

คำอธิบาย เฉพาะโค้ดที่เกี่ยวกับการหาผลรวมของ Column

1. สร้างตัวแปร $sum ทำหน้าที่เก็บผลรวมของการวนลูปแต่ละรอบ โดยเริ่มต้นกำหนดให้มีค่าเท่ากับ 0

2. ในลูป while ให้ตัวแปร $sum มีการบวกค่าเพิ่มขึ้น (+=) โดยรับค่าจากตัวแปร $f['price'] ซึ่งเป็นตัวแปรที่เก็บข้อมูลราคาในการวนลูปแต่ละรอบ ทำให้แต่ละรอบตัวแปร $sum จะบวกค่าเพิ่มไปเรื่อยๆ ตามจำนวนการวนลูป

3. พอจบลูป while ก็นำตัวแปร $sum มาแสดงที่ส่วนด้านล่างของตาราง

แก้ไข 3 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ