显示 parent table 标题字段一次然后 child 组记录
Display parent table title field once then child records in groups
我想使用 2 个表显示常见问题解答列表:faqset 和 faqs
例如:
一般常见问题(常见问题集名称)
问题一
回答 1
问题2
答案 2
问题3
答案 3
PRE-SALE 常见问题(常见问题集名称)
问题四
回答 4
问题5
回答 5
问题6
回答 6
我相信我有查询,但我希望每个组的标题只显示一次,但它为每个 child 显示,如下所示:
一般常见问题解答
问题一
回答 1
一般常见问题解答
问题2
答案 2
faqset 字段是 qsid 和名称
faqs 字段是 fid、question、answer、qgroup(=来自 faqset 的 qsid)、status、rank
这是我的查询和代码:
<?
$query="SELECT faqset.*, faqs.* FROM faqset LEFT JOIN faqs ON faqset.qsid = faqs.qgroup WHERE faqs.status=1 ORDER BY faqset.name, faqs.rank, faqs.fid DESC";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
?>
<?
$i=0;
while ($i < $num) {
$qsid=mysql_result($result,$i,"faqset.qsid");
$setname=mysql_result($result,$i,"faqset.name");
$fid=mysql_result($result,$i,"faqs.fid");
$question=mysql_result($result,$i,"faqs.question");
$answer=mysql_result($result,$i,"faqs.answer");
?>
<? echo "$setname"; ?>
<div id="faqcontainer">
<div id="faq_<? echo "$fid"; ?>">
<? if (!empty($question)) {?><div id="question"><? echo "$question"; ?></div><?php } ?>
<? if (!empty($answer)) {?><div><br/><? echo "$answer"; ?></div><?php } ?>
<div class="clear"></div>
</div>
</div>
<?
++$i;
}
?>
关于如何实现这一点有什么建议吗?
将当前标题保存到一个var中,如果不相同则只打印它-
<?
$current_setname = "";
$i=0;
while ($i < $num) {
...[your code]...
?>
<? if($setname != $current_setname){
echo $setname;
$current_setname = $setname;
}
...[your code]...
?>
我想使用 2 个表显示常见问题解答列表:faqset 和 faqs
例如:
一般常见问题(常见问题集名称)
问题一 回答 1
问题2 答案 2
问题3 答案 3
PRE-SALE 常见问题(常见问题集名称)
问题四 回答 4
问题5 回答 5
问题6 回答 6
我相信我有查询,但我希望每个组的标题只显示一次,但它为每个 child 显示,如下所示:
一般常见问题解答
问题一 回答 1
一般常见问题解答
问题2 答案 2
faqset 字段是 qsid 和名称
faqs 字段是 fid、question、answer、qgroup(=来自 faqset 的 qsid)、status、rank
这是我的查询和代码:
<?
$query="SELECT faqset.*, faqs.* FROM faqset LEFT JOIN faqs ON faqset.qsid = faqs.qgroup WHERE faqs.status=1 ORDER BY faqset.name, faqs.rank, faqs.fid DESC";
$result=mysql_query($query);
$num=mysql_num_rows($result);
mysql_close();
?>
<?
$i=0;
while ($i < $num) {
$qsid=mysql_result($result,$i,"faqset.qsid");
$setname=mysql_result($result,$i,"faqset.name");
$fid=mysql_result($result,$i,"faqs.fid");
$question=mysql_result($result,$i,"faqs.question");
$answer=mysql_result($result,$i,"faqs.answer");
?>
<? echo "$setname"; ?>
<div id="faqcontainer">
<div id="faq_<? echo "$fid"; ?>">
<? if (!empty($question)) {?><div id="question"><? echo "$question"; ?></div><?php } ?>
<? if (!empty($answer)) {?><div><br/><? echo "$answer"; ?></div><?php } ?>
<div class="clear"></div>
</div>
</div>
<?
++$i;
}
?>
关于如何实现这一点有什么建议吗?
将当前标题保存到一个var中,如果不相同则只打印它-
<?
$current_setname = "";
$i=0;
while ($i < $num) {
...[your code]...
?>
<? if($setname != $current_setname){
echo $setname;
$current_setname = $setname;
}
...[your code]...
?>