|
|
|
สอบถามเรื่องการสร้างหมวดหมู่ย่อยให้สามารถแสดงเฉพาะข้อมูลของหมวดหมู่ย่อยนั้นๆ php |
|
|
|
|
|
|
|
select * from ตารางเก็บชื่อเอกสาร where ฟิลด์หมวดหมู่ย่อย = 'คอมพิวเตอร์'
|
|
|
|
|
Date :
2014-10-16 17:50:53 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันขึ้นอยู่กับการออกแบบฐานข้อมูล ว่ามีการเชื่อมโยงความสำพันธ์ของข้อมูลอย่างไร ที่จริงมันไม่ยากเลย(หรือผมเคยชินเลยคิดว่าไม่ยากแว้ 555+)
ผมยกตัวอย่างละกันนะ เช่น
Code
ตาราง tbl_category (เก็บหมวดหมู่หลัก) มีฟิลด์
cate_id, cate_name
เมื่อเราได้ตารางเก็บหมวดหมู่หลักแล้ว จากของคุณก็จะเป็นการเก็บข้อมูลเอกสาร โดยอ้างอิงจากหมวดหมู่หลัก ก็ได้ประมาณนี้
Code
ตาราง tbl_content (เก็บหมวดหมู่หลัก) มีฟิลด์
content_id, content_name, content_category
คุณสังเกตดูตัวหนา นั่นคือความสัมพันธ์ของทั้ง 2 ตาราง
ส่วนเวลาเรียกดูข้อมูล ก็สามารถทำได้โดยใช้ประโยชน์จากความสำพันธ์ เช่น
Code
ผมสมมุติว่า ในตาราง tbl_category มีข้อมูลอยู่ดังนี้
cate_id , cate_name
1 , คอมฯ
2 , การตลาด
ส่วนในตาราง tbl_content มีข้อมูลอยู่ดังนี้
content_id , content_name, content_category
1 , หนังสือคอม1 , 1
2 , หนังสือการตลาด , 2
3 , หนังสือคอม2 , 1
ดังนั้น หากเราต้องการจะดูหมวดหมู่ย่อยของ คอมฯ ก็สามารถเขียน SQL ดึงข้อมูลได้ดังนี้
$sql = mysql_query("SELECT * FROM tbl_content WHERE content_category = '1'");
ก็จะได้ผลลัพธ์
content_id , content_name, content_category
1 , หนังสือคอม1 , 1
3 , หนังสือคอม2 , 1
ไม่รู้จะเข้าใจป่ะ? ลองประยุกต์เอานะครับ
|
ประวัติการแก้ไข 2014-10-16 17:57:55
|
|
|
|
Date :
2014-10-16 17:56:59 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เวลา field มีความเชื่อมโยงกัน แนะนำให้ตั้งชื่อเหมือนกัน นะ ครับ
|
|
|
|
|
Date :
2014-10-17 09:17:40 |
By :
gaowteen |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าเป็นผม ตรง section ผมจะทำแบบ cat_id
cat_id ของน้องคืออะไร พี่ไม่รู้หรอก แต่ ตรง section ไปทำตารางอีกอัน แล้วเอาเฉพาะเลขมาใส่แบบ cat_id ง่ายกว่า สะดวกกว่า
เวลาจะให้ แสดงหมวดหมู่ย่อย ก็ where section="เลขไอดีของsection"
ไม่รู้ว่าเข้าใจตรงกันไหม ฮ่า ๆ ๆ ๆ
|
|
|
|
|
Date :
2014-10-17 10:14:40 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เผื่อมีคนต้องการค่ะ
หน้าหมวดหมู่หลักจะดึงข้อมูลมาจากฐานข้อมูลทั้งหมดนะค่ะ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("mydata1");
mysql_query("set names 'utf8';");
$strSQL = "SELECT * FROM tb_menu ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="60%" border="1">
<tr>
<td>ประเภทเอกสาร</td>
<td></td>
</tr>
<?php
while($objResult = mysql_fetch_array($objQuery)){
?>
<tr>
<td><a href="show_cate.php?&menu_id=<?=$_GET[menu_id]?><?php echo $objResult["menu_id"];?>"><?php echo $objResult["menu_name"]; ?></a></td>
<td></td>
</tr>
<?php
}
?>
</table>
หน้าแสดงหมวดหมู่ย่อย
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("mydata1");
mysql_query("set names 'utf8';");
$strSQL = "SELECT * FROM tb_category ";
$strSQL .= "WHERE menu_id='".$_GET["menu_id"]."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<table width="60%" border="1">
<tr>
<td>ประเภทเอกสาร</td>
<td></td>
</tr>
<?php
while($objResult = mysql_fetch_array($objQuery)){
?>
<tr>
<td><a href="doc_file1.php?&category_id=<?=$_GET[category_id]?><?php echo $objResult["category_id"];?>"><?php echo $objResult["category_name"]; ?></a></td>
<td></td>
</tr>
<?php
}
?>
</table>
คำสั่งที่ใช้ในหน้าแสดงค่ะ
Code (PHP)
<?php
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("mydata1");
mysql_query("set names 'utf8';");
$strSQL = "SELECT * FROM tb_doc ";
$strSQL .= "WHERE cate_id='".$_GET["category_id"]."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
|
|
|
|
|
Date :
2014-10-22 15:00:43 |
By :
luffy_nami |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|