ยินดีต้อนรับ กรุณา สมัครสมาชิก หรือเข้าสู่ระบบ

Home » webboard » PHP
เข้าชม : 988

คำสั่ง SELECT ในการ Query

โพสต์เมื่อ: วันอาทิตย์ 28 พฤศจิกายน 2553  22:03 น.

ถ้าสำหรับคนที่ติดตามผมมาตั้งแต่บทความแรกในหมวดหมู่นี้ ซึ่งจะได้ฐานข้อมูลและตารางข้อมูลที่เหมือนกับผม (ถ้าใครอยากศึกษาตามก็ขอให้ย้อนกลับไปบทความแรกก่อนนะครับ) ที่ผมเกริ่นมานี้ก็เพื่อที่จะให้คนที่มีฐาน ข้อมูลและตารางตามที่ผมได้สร้างไว้ทำการดาวน์โหลดไฟล์ด้านล่างของผมครับที่ชื่อว่า sql_insert.sql แล้วนำไป import เข้าฐานข้อมูลครับ

เมื่อเรามีข้อมูลเรียบร้อยแล้ว ผมจะเริ่มตรงส่วนหน้าจอ (เฉพาะโครงร่างก่อนยังไม่ใช่ส่วนทั้งหมดนะครับ) ที่จะใช้ในการแสดงสินค้าทั้งหมดก่อนเลยครับ ซึ่งผมจะสร้างดังนี้ (โค้ดทั้งหมดสามารถดาวน์โหลดได้ แต่ถ้าจะให้ดีก็ ทำตามทีละลำดับดีกว่าครับ)

01.<html>
02.<head><title>วิธี SELECT ค่าข้อมูลจากฐานข้อมูลมาแสดงในหน้าจอ</title></head>
03.<body>
04.<table width="600" border="1">
05.    <tr>
06.        <th>ลำดับ</th>
07.        <th>ชื่อสินค้า</th>
08.        <th>ราคา</th>
09.        <th>จำนวน</th>
10.    </tr>
11.    <tr>
12.        <td align="center">1</td>
13.        <td>โครงร่าง</td>
14.        <td align="right">0</td>
15.        <td align="center">0</td>
16.    </tr>
17.</table>
18.</body>
19.</html>

จากโครงร่างหน้าจอด้านบนจะได้ผลลัพธ์ดังนี้

จากนั้นให้เราทำการเชื่อมต่อฐานข้อมูลโดยใช้ฟังก์ชัน mysql_connect() ครับ รวมไปถึงใช้ฟังก์ชัน mysql_select_db() ในการเลือกฐานข้อมูลที่เราต้องการใช้งาน (ในที่นี้คือ mysql_php) ให้ทำการแทรกโค้ดด้านล่างนี้ไว้ที่ด้านบนสุดของไฟล์เลยครับ

01.<?php
02.$host = "localhost";
03.$user = "root";
04.$pass = "";
05.$dbname = "mysql_php";
06.mysql_connect($host, $user, $pass);
07.mysql_select_db($dbname);
08.  
09.// ส่วนนี้เราจะต้องกำหนดไว้เลยว่าเราต้องการคิวรี่โดยใช้ encode เป็น UTF8 ไม่เช่นนั้นผลลัพธ์จะเป็น "?" ถ้าข้อมูลเป็นภาษาไทย
10.mysql_query("SET NAMES UTF8");
11.?>

เพียงเท่านี้ก็จะสามารถเข้าใช้งานฐานข้อมูล mysql_php ได้แล้ว หลังจากนั้นให้ผมจะใช้คำสั่ง SQL เพื่อทำการ query ข้อมูลจากตาราง tbl_product ดังนี้ (ไว้ต่อจากตัวอย่างด้านบน)


1.<?php
2.$sql = "SELECT * FROM tbl_product ORDER BY id ASC";
3.$rs = mysql_query($sql);
4.?>

มันจะคืนค่ามาเป็น resource เรคอร์ดทั้งหมดที่คิวรี่ได้นั่นแหละครับ ซึ่งพอได้ resource เหล่านี้มาแล้ว เราก็สามารถทำการวนลูปดึงค่าข้อมูลแต่ละเรคอร์ดออกมาแสดงได้แล้ว ซึ่งต่อจากนี้ให้เราทำการแก้ไขโค้ด HTML เป็นดังนี้ครับ


01.<html>
02.<head><title>วิธี SELECT ค่าข้อมูลจากฐานข้อมูลมาแสดงในหน้าจอ</title></head>
03.<body>
04.<table width="600" border="1">
05.    <tr>
06.        <th>ลำดับ</th>
07.        <th>ชื่อสินค้า</th>
08.        <th>ราคา</th>
09.        <th>จำนวน</th>
10.    </tr>
11.    <?php
12.    while($row = mysql_fetch_array($rs)) {
13.        echo "<tr>" .
14.            "<td align='center'>" . $row['id'] . "</td>" .
15.            "<td>" . $row['prod_name'] . "</td>" .
16.            "<td align='right'>" . $row['price'] . "</td>" .
17.            "<td align='center'>" . $row['quantity'] . "</td>" .
18.        "</tr>";
19.    }
20.    ?>
21.</table>
22.</body>
23.</html>

ซึ่งแก้ไขให้มันทำการวนลูป resource ที่ได้จากการคิวรี่ไปยังฐานข้อมูลออกมาแสดงทีละแถว โดยเราใช้ฟังก์ชัน mysql_fetch_array() เพื่อดึงข้อมูลทีละเรคอร์ดมายังตัวแปร $row (จะได้รับข้อมูลแบบอะเรย์) โดยเราสามารถอ้างอิง index ของอะเรย์ได้ทั้งสองแบบนั่นก็คือแบบ associative array และ numeric array (ในตัวอย่างผมใช้การอ้างอิง index แบบ associative array ครับ ซึ่ง index ของอะเรย์จะเป็นชื่อฟิลด์ของตารางที่เราดึงข้อมูลมา) เพียงเท่านี้เราก็จะได้ข้อมูลออกมาแสดงบนหน้าเว็บแล้วครับ ดังรูป


เอส


คุณต้องสมัครสมาชิก ถึงจะโพสกระทู้ได้

ปิดรับสมัครสมาชิกแล้ว


คำยอดฮิต :- 0