PHP แสดงจำนวนบทความ

ตั้งแต่มีบล็อกกะเขามา ยังไม่เคยเขียนบทความเรื่องการเขียนโปรแกรมเท่าไร ส่วนหนึ่งเพราะบทความดีๆ เห็นมีอย่างหลากหลายตามเว็บ ตามบล็อกต่างๆ ถึงเขียนไปก็ไม่ดีเท่าเขา แต่มาวันนี้เหตุผลที่จะเขียน เพียงเพราะกลัวตัวเองจะลืม อยากจะหาอะไรง่ายๆในบล็อกตัวเอง มิใช่เพื่อจะเพิ่มเรตติ้งในเว็บแต่อย่างใด ~ ออกตัวไว้ก่อน

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

อาจอธิบายไม่ชัดเจน หรือเขียนโค๊ดเข้าใจยากนิดนึง แต่รับรองว่ารันแล้ว แสดงผลได้ 😛