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