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





