sql >> データベース >  >> RDS >> Mysql

さまざまなフォーラムをカテゴリPHPにグループ化する方法

    あなたの質問: フォーラムを正しいカテゴリIDにリストするにはどうすればよいですか?

    解決策: あなたはすでにデータベース構造を持っているので、そしてあなたがすでにそしておそらくあなたのcategoriesをリンクするために知っているべきです forumsを含むテーブル テーブルには、両方に少なくとも1つの列が必要です。これはcategory_idです。 categoriesから テーブルの自動インクリメント列、つまりid したがって、フォーラムを特定のカテゴリに分類するには、カテゴリidを追加する必要があります。 category_idとして追加の列に forumsで テーブルなので、各フォーラムのID値にそのカテゴリが記載されています。.!

    そして、次のようにカテゴリ別にフォーラムを一覧表示できます:

    注: このコードは、すべてのフォーラムカテゴリをチェックし、各カテゴリの下にあるすべてのフォーラムを一覧表示します。.!

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

    実用的なコード例:

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

    出力:

    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. PostgresqlDBバックアップ理想的な方法

    2. Postgres Insert Into View Rule with Returning Clause

    3. Dockerコンテナからホストにstdoutをリダイレクトする方法

    4. SQLAlchemy Core CREATE TEMPORARY TABLE AS