在自定义编码论坛的正确标题下显示类别

时间:2016-03-15 11:22:50

标签: php mysql database forum

我似乎找不到使用自定义编码论坛链接类别和标题的方法。

以下是类别表的图片:

enter image description here

标题表的图片:

enter image description here

现在这两个表都有一个FOREIGN KEY链接:

ALTER TABLE categories ADD FOREIGN KEY(cat_head) REFERENCES headers(head_id) ON DELETE CASCADE ON UPDATE CASCADE;

我的论坛图片:

enter image description here

(注意每个类别在“PrevailPots服务器”标题下如何下降。

1 个答案:

答案 0 :(得分:0)

如果我理解你的问题。

  • 两个表上的2个查询都可以解决问题。
  

首次查询从头表中检索详细信息   =>获取head_id

然后

  

类别表上的第二个查询   =>将cat_head与head_id进行比较并检索cat详细信息。

     

<强>更新

  我在我的自定义论坛中使用了上述Idea。   
  示例代码

                $result1=queryMysql("SELECT * FROM headers"); //My custom function for query execution, returns the result    

            while($row1 =$result2->fetch_array(MYSQL_ASSOC))
                {               
                        echo $row1['head_name'];
                $result2=queryMysql("SELECT * FROM categories WHERE cat_head=$row[head_id]");  // My custom function for query execution, returns the result    

                    while($row2=$result2->fetch_array(MYSQL_ASSOC)){

                        echo $row2['cat_name'];
                        echo $row2['cat_description'];
                    }

                }

这就是我的意思。
今天我肯定会尝试像下面这样的JOIN操作。

         $result=queryMysql('SELECT * FROM headers LEFT JOIN categories ON head_id = cat_head');    //My custom function for query execution, returns the result    
             $new_head="";
             $pre_head="";
            while($row =$result->fetch_array(MYSQL_ASSOC))
                {               
                        $new_head= $row['head_name'];

                        if($new_head!=$pre_head){
                          echo $new_head;
                        }
                         if($row['cat_name']!=null or $row['cat_description']!=null){
                          echo $row['cat_name'];
                          echo $row['cat_description'];
                        }
                        else {
                             echo "No categories yet";
                         }

                        $pre_head=$row['head_name'];
                }
  

我想你现在明白了。