在自定义编码论坛的正确 header 下显示类别
Display category under correct header for custom coded forums
我似乎找不到使用自定义编码论坛 link 类别和 header 的方法。
这是类别的图片 table:
还有 header 的照片 table:
现在这两个 table 都有一个 FOREIGN KEY
link 即:
ALTER TABLE categories ADD FOREIGN KEY(cat_head) REFERENCES headers(head_id) ON DELETE CASCADE ON UPDATE CASCADE;
我的论坛图片:
(注意每个类别如何下降到 "PrevailPots server" 标题下。
如果我没有正确理解你的问题。
- 两个表上的 2 个查询可以解决问题。
first query for retrieving details from the header table
=>get the head_id
然后
second query on the category table
=>compare the cat_head with the head_id and retrieve the cat details .
Update
I used the above Idea for my custom forum .
example code
$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'];
}
I think you got the idea now.
我似乎找不到使用自定义编码论坛 link 类别和 header 的方法。
这是类别的图片 table:
还有 header 的照片 table:
现在这两个 table 都有一个 FOREIGN KEY
link 即:
ALTER TABLE categories ADD FOREIGN KEY(cat_head) REFERENCES headers(head_id) ON DELETE CASCADE ON UPDATE CASCADE;
我的论坛图片:
(注意每个类别如何下降到 "PrevailPots server" 标题下。
如果我没有正确理解你的问题。
- 两个表上的 2 个查询可以解决问题。
first query for retrieving details from the header table =>get the head_id
然后
second query on the category table =>compare the cat_head with the head_id and retrieve the cat details .
Update
I used the above Idea for my custom forum .
example code
$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'];
}
I think you got the idea now.