Câu hỏi của bạn: Tôi sẽ làm cách nào để liệt kê các diễn đàn theo đúng ID danh mục của chúng?
Giải pháp: Như bạn đã có Cấu trúc cơ sở dữ liệu của mình và như bạn đã và có thể nên biết để liên kết các categories
của bạn bảng với forums
của bạn bảng bạn cần có ít nhất một cột trong cả hai cột tương tự, đó là một category_id
từ categories
của bạn cột tự động tăng dần của bảng, cụ thể là id
vì vậy để phân loại diễn đàn của bạn thành danh mục cụ thể, bạn sẽ cần thêm danh mục id
vào một cột bổ sung dưới dạng category_id
trong forums
của bạn bảng để mỗi diễn đàn sẽ có danh mục được đề cập trong đó trong giá trị id ..!
Và sau đó, bạn có thể liệt kê các diễn đàn của mình theo các danh mục như sau:
Lưu ý: Mã này sẽ kiểm tra mọi danh mục diễn đàn và nó sẽ sắp xếp danh sách tất cả các diễn đàn đó theo từng danh mục ..!
<?php
//Assuming you have fetched whole data from forums table in $forums
//And whole data from categories in $categories
//So moving forward with the code
foreach ($categories as $category) {
echo "<h1>".$category['category_title']."</h1>";
$category_id = $category['category_id'];
$query = mysqli_query($mysqli,"SELECT * FROM forums WHERE category_id='$category_id'");
$forums = array();
while ($rows = mysqli_fetch_array($query)) {
$forums[] = $rows;
}
foreach ($forums as $forum) {
echo "Title :".$forum['forum_title']."</br>";
echo "Descripton :".$forum['forum_description']."</br></br></br>";
}
echo "</br></br></br></br>";
}
?>
VÍ DỤ VỀ MÃ CÔNG VIỆC:
<?php
$categories = array(
array('id' => "04",'category_title' => "News & Support"),
array('id' => "23",'category_title' => "Current Affairs"),
array('id' => "12",'category_title' => "Politics"));
$forums = array(
array('forum_title' => "News 1",'category_id' => "04"),
array('forum_title' => "News 2",'category_id' => "04"),
array('forum_title' => "Current Afairs 1",'category_id' => "23"),
array('forum_title' => "Current Afairs 2",'category_id' => "23"),
array('forum_title' => "Politics 1",'category_id' => "12"),
array('forum_title' => "Politics 2",'category_id' => "12"));
foreach ($categories as $category) {
echo "<h1>".$category['category_title']."</h1>";
$category_id = $category['id'];
$output = array();
for ($i=0;$i<=count($forums);$i++) {
if ($category_id == $forums[$i]['category_id']) {
$add_forum = array('forum_title' => $forums[$i]['forum_title'],'category_id' => $forums[$i]['category_id']);
array_push($output, $add_forum);
}
}
for ($i=0;$i<=count($output);$i++) {
echo "Title :".$output[$i]['forum_title']."</br>";
}
echo "</br></br></br></br>";
}
?>
ĐẦU RA:
News & Support
Title :News 1
Title :News 2
Current Affairs
Title :Current Afairs 1
Title :Current Afairs 2
Politics
Title :Politics 1
Title :Politics 2