2016-08-02 5 views
0

カテゴリとセクションを印刷する際に問題があります(フォーラム用)。だから私は2つのテーブルがあります:forum_sectionとforum_category - > forum_sectionのcat_idカラムはforum_categoryのsectionカラムにリンクされています。ここに私のクエリです:カテゴリが正しいセクションに配置されていません

$forum = $con->query("SELECT a.*, b.* 
    FROM `forum_section` a 
    INNER JOIN `forum_category` b ON a.`cat_id` = b.`section` GROUP BY a.`cat_name` ORDER BY a.`cat_id`"); 

そして、それは私がそれらを印刷しようとしている方法は次のとおりです。

私printCategories機能です
while($row = mysqli_fetch_object($forum)) { 
     echo '<div id="section"> 
       <div class="section-head"><h3 class="yellow_text">'.$row->cat_name.'</h3></div> 
       '.printCategories($row->cat_id).' 
      </div>'; 
    } 
} 

function printCategories($id) { 
    global $con; 

    $categories = $con->query("SELECT * FROM `forum_category` WHERE `section`='$id'"); 

    while($row = mysqli_fetch_object($categories)) { 
     echo '<div class="cat"> 
       <div class="cat-title"> 
        <img src="styles/default/images/icons/'.$row->icon.'.png" alt="Icon"> 
        <span>'.$row->name.'</span> 
       </div> 
       <div class="cat-topics"> 
        asd 
       </div> 
       <div class="cat-posts"> 
        asd 
       </div> 
       <div class="cat-lasttopic"> 
        last topic name goes here 
       </div> 
       </div>'; 
    } 
} 

だから、それらを印刷しなく中あなたはこの写真のように適切な場所を見つけることができます:enter image description here

答えて

1

nee dsにreturnの結果ではなく、echoですので、発信者の連結は、それが ingであるDIVに入れます。呼び出し元が結果を連結してDIVを印刷する前に、コードが何かを返す前にエコーしているので、印刷されます。

function printCategories($id) { 
    global $con; 

    $categories = $con->query("SELECT * FROM `forum_category` WHERE `section`='$id'"); 
    $result = ''; 
    while($row = mysqli_fetch_object($categories)) { 
     $result += '<div class="cat"> 
       <div class="cat-title"> 
        <img src="styles/default/images/icons/'.$row->icon.'.png" alt="Icon"> 
        <span>'.$row->name.'</span> 
       </div> 
       <div class="cat-topics"> 
        asd 
       </div> 
       <div class="cat-posts"> 
        asd 
       </div> 
       <div class="cat-lasttopic"> 
        last topic name goes here 
       </div> 
       </div>'; 
    } 
    return $result; 
} 
+0

これは問題だったようです。御時間ありがとうございます。 – tsvmitev

関連する問題