Su pregunta: ¿Cómo haría para enumerar los foros en su ID de categoría correcto?
Solución: Como ya tiene la estructura de su base de datos y probablemente debería saberlo para vincular sus categories tabla con tus forums tabla, debe tener al menos una columna en ambas similares, que es un category_id de tus categories columna de incremento automático de la tabla, es decir, como id por lo tanto, para categorizar su foro en la categoría específica, deberá agregar la categoría id a una columna extra como category_id en tus forums tabla para que cada foro tenga su categoría mencionada allí en valor de identificación..!
Y luego puede enumerar sus foros por categorías de esta manera como:
Nota: Este código verificará cada categoría de foro y mostrará una lista de todos esos foros en cada categoría...!
<?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>";
}
?>
EJEMPLO DE CÓDIGO DE TRABAJO:
<?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>";
}
?>
SALIDA:
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