Votre question : Comment dois-je procéder pour répertorier les forums dans leur ID de catégorie correct ?
Solution : Comme vous avez déjà votre structure de base de données et comme vous le savez déjà et devriez probablement le savoir afin de lier vos categories
tableau avec vos forums
table, vous devez avoir au moins une colonne dans les deux similaires qui est un category_id
de vos categories
table colonne auto incrémentée à savoir comme id
donc afin de catégoriser votre forum dans la catégorie spécifique, vous devrez ajouter la catégorie id
à une colonne supplémentaire en tant que category_id
dans vos forums
table afin que chaque forum ait sa catégorie mentionnée dans la valeur de l'identifiant.. !
Et ensuite vous pouvez répertorier vos forums par catégories comme ceci :
Remarque : Ce code vérifiera chaque catégorie de forum et listera en quelque sorte tous ces forums sous chaque catégorie.. !
<?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>";
}
?>
EXEMPLE DE CODE FONCTIONNEL :
<?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>";
}
?>
SORTIE :
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