ตั้งแต่มีบล็อกกะเขามา ยังไม่เคยเขียนบทความเรื่องการเขียนโปรแกรมเท่าไร ส่วนหนึ่งเพราะบทความดีๆ เห็นมีอย่างหลากหลายตามเว็บ ตามบล็อกต่างๆ ถึงเขียนไปก็ไม่ดีเท่าเขา แต่มาวันนี้เหตุผลที่จะเขียน เพียงเพราะกลัวตัวเองจะลืม อยากจะหาอะไรง่ายๆในบล็อกตัวเอง มิใช่เพื่อจะเพิ่มเรตติ้งในเว็บแต่อย่างใด ~ ออกตัวไว้ก่อน
ผมใช้โปรแกรม Dreaweaver CS 3
สิ่งที่ต้องการคือ ผมมีบทความอยู่ในตารางหนึ่ง และตารางหมวดหมู่บทความในอีกตารางหนึ่ง ทีนี้อยากจะแสดงรายชื่อหมวดหมู่บทความ และด้านหลังหมวดหมู่มีวงเล็บแสดงตัวเลขว่า หมวดหมู่นี้มีบทความเท่าไร อย่างนี้
หมวดหมู่
เรื่องทั่วไป (20)
เรื่องคอมพิวเตอร์ (2)
เรื่องการเมือง (250)
ซึ่งบล็อกทั่วๆไปนิยมทำแบบนี้กัน
เมื่อทราบความต้องการแล้วก็ลุยกันเลยยยย ..ย
//เริ่มแรกติดต่อฐานข้อมูลซะก่อน
$hostname_connection = “localhost“;
$database_connection = “demo“;
$username_connection = “demo“;
$password_connection = “demo_password“;
$connection = mysql_pconnect($hostname_connection, $username_connection, $password_connection) or trigger_error(mysql_error(),E_USER_ERROR);
// เลือกตาราง tbl_article_category ตารางหมวดหมู่ และตาราง tbl_article ตารางบทความ
mysql_select_db($database_connection, $connection);
$query_rs_listcategory = “SELECT * FROM tbl_article_category INNER JOIN tbl_article ON (tbl_article_category.category_id=tbl_article.category_id) GROUP BY tbl_article_category.category_sort DESC“;
$rs_listcategory = mysql_query($query_rs_listcategory, $connection) or die(mysql_error());
$row_rs_listcategory = mysql_fetch_assoc($rs_listcategory);
$totalRows_rs_listcategory = mysql_num_rows($rs_listcategory);
// แสดงหมวดหมู่ (แสดงผล)
<h1>หมวดหมู่บทความ</h1>
<?php do { //ลูปหมวดหมู่บทความ ?>
<?php
mysql_select_db($database_connection, $connection);
$query_rs_somecategory = sprintf(“SELECT * FROM tbl_article WHERE category_id=%s”,$row_rs_listcategory[‘category_id’]); //ดึงตารางบทความ โดยมีเงื่อนไขให้โชว์ข้อมูลที่มี id ตรงกันใน เรคคอร์สเซต rs_listcategory (ที่ได้สร้างไว้ทีแรก)
$rs_somecategory = mysql_query($query_rs_somecategory, $connection) or die(mysql_error());
$row_rs_somecategory = mysql_fetch_assoc($rs_somecategory);
$totalRows_rs_somecategory = mysql_num_rows($rs_somecategory); ?>
<div style=”float: letf; width: 175px; margin:0 0 5px 0″>
<?php echo $row_rs_listcategory[‘category_topic’]; ?>(<?php echo $totalRows_rs_somecategory ;?>)
</div>
<?php } while ($row_rs_listcategory = mysql_fetch_assoc($rs_listcategory)); ?>
<?php mysql_free_result($rs_listcategory); ?> //คืนค่าการเชื่อมต่อ
การเชื่อมต่อมี 2 ครั้ง คือ เชื่อมต่อฐานข้อมูลเพื่อดึงรายชื่อหมวดหมู่ และเชื่อมต่อเพื่อดึงจำนวนบทความทั้งหมดมาแสดง อธิบายโดยละเอียดยากครับ ดูโค๊ดประกอบด้วยละกัน
อาจอธิบายไม่ชัดเจน หรือเขียนโค๊ดเข้าใจยากนิดนึง แต่รับรองว่ารันแล้ว แสดงผลได้ 😛