หน้าแรก

การดึงข้อมูลจากดาต้าเบสมาโชว์แบบคอลั่มและแถว ใน PHP


ในปกติแล้วการดึงข้อมูลจากดาต้าเบสมาโชว์นั้น ส่วนใหญ่แล้วเราจะชินกันแบบ โชว์เป็นแถว แต่วันนี้ผมมีอีกวิธีมาแนะนำ เป็นการนำข้อมูลจากดาต้าเบสมาโชว์แบบ คอลั่ม และ แถว ในเวลาเดียวกัน โดยเราสามารถกำหนดได้เลยว่า เราจะโชว์แถวละกี่คอลั่ม

ขั้นตอนการทำ

1.สร้างดาต้าเบส เพื่อให้การดึงข้อมูลมาโชว์ก่อน ในที่นี้ผมขอยกเป็นตัวอย่างนะครับ


# โครงสร้างตาราง `product` 


CREATE TABLE `product` 
( `id` int(11) NOT NULL auto_increment, `name` tinytext NOT NULL, PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=11 ; 


# dump ตาราง `product` 


INSERT INTO `product` VALUES (1, 'product1'); 
INSERT INTO `product` VALUES (2, 'product2'); 
INSERT INTO `product` VALUES (3, 'product3'); 
INSERT INTO `product` VALUES (4, 'product4'); 
INSERT INTO `product` VALUES (5, 'product5'); 
INSERT INTO `product` VALUES (6, 'product6'); 
INSERT INTO `product` VALUES (7, 'product7'); 
INSERT INTO `product` VALUES (8, 'product8'); 
INSERT INTO `product` VALUES (9, 'product9'); 
INSERT INTO `product` VALUES (10, 'product10');

2.หลังจากนั้นเราก็ดึงข้อมูลมาโชว์กันเลยครับ

<? 
$host="localhost"; //ชื่อโฮส
$db_username="root"; //ชื่อผู้ใช้ 
$db_password=""; //รหัสผ่าน 
$dbname="test"; //ชื่อฐานข้อมูล 
$connect = mysql_connect($host,$db_username,$db_password);
if(!$connect){
echo "ไม่สามารถติดต่อฐานข้อมูลได้"; exit();
}

$sql = "select * from product";
$dbquery = mysql_db_query($dbname, $sql);
$cols = 5//กำหนดจำนวนคอลั่ม 
$c = $cols;
?>
<table border="1">
<tr>
<?
while($result = mysql_fetch_array($dbquery)) {
$c --;
?>
<td width="150"><?=$result[name];?></td> //ส่วนของการแสดงข้อมูล 
<?
if($c == 0) {
$c = $cols;
?>
</tr></tr>
<? } } ?>
</tr></table>

3.เรียบร้อยแล้วครับ ในส่วนของการแสดงข้อมูลเราอาจจะซ้อน table เข้าไปอีกก็ได้นะ เผื่อเราอาจจะมีการแสดงข้อมูลหลายอย่าง


การใส่ Emotion ใส่ในเว็บบอร์ด การทำอัปโหลดรูปชนิด gif และ jpg ลงดาต้าเบส ฉบับสมบูรณ์
บทความที่เกี่ยวข้อง

ดูบทความ PHP ทั้งหมด »