การดึงข้อมูลจากดาต้าเบสมาโชว์แบบคอลั่มและแถว
ในปกติแล้วการดึงข้อมูลจากดาต้าเบสมาโชว์นั้น ส่วนใหญ่แล้วเราจะชินกันแบบ โชว์เป็นแถว แต่วันนี้ผมมีอีกวิธีมาแนะนำ เป็นการนำข้อมูลจากดาต้าเบสมาโชว์แบบ คอลั่ม และ แถว ในเวลาเดียวกัน โดยเราสามารถกำหนดได้เลยว่า เราจะโชว์แถวละกี่คอลั่ม
ขั้นตอนการทำ
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 เข้าไปอีกก็ได้นะ เผื่อเราอาจจะมีการแสดงข้อมูลหลายอย่าง
Download Source Code
|