sql >> Database teknologi >  >> RDS >> Mysql

Sådan grupperer du forskellige fora i PHP-kategorier

Dit spørgsmål: Hvordan ville jeg gå om at angive foraene i deres korrekte kategori-id?

Løsning: Som du allerede har din databasestruktur, og som du allerede og sandsynligvis burde vide for at linke dine categories tabel med dine forums tabel skal du have mindst én kolonne i begge lignende, som er en category_id fra dine categories tabel automatisk forøget kolonne nemlig som id så for at kategorisere dit forum i den specifikke kategori skal du tilføje kategorien id til en ekstra kolonne som category_id i dine forums tabel, så hvert forum vil have sin kategori nævnt derinde i id-værdi..!

Og så kan du liste dine fora efter kategorier som denne måde som:

Bemærk: Denne kode vil tjekke for hver forumkategori, og den vil på en måde liste alle disse fora under hver kategori..!

<?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>";  
} 
?>

EKSEMPEL PÅ ARBEJDSKODE:

<?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>";  
} 
?>

OUTPUT:

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



  1. Udfordringen er i gang! Fællesskabsopfordring til at skabe den hurtigste nummerseriegenerator

  2. Hvordan vi kan finde domænenavn ved hjælp af MySQL og regulære udtryk

  3. Grupper for måned inklusive tomme måneder

  4. Gruppér efter afkortet dato i JPA