Php 此查询类型的SQL联接
我有一个表来存储FAQ类别,然后是一个表来存储FAQ,所以现在当我必须显示FAQ时,我首先循环浏览类别,然后获取该类别下的所有FAQ 我希望输出像Php 此查询类型的SQL联接,php,mysql,Php,Mysql,我有一个表来存储FAQ类别,然后是一个表来存储FAQ,所以现在当我必须显示FAQ时,我首先循环浏览类别,然后获取该类别下的所有FAQ 我希望输出像 Category 1 FAQ1, FAQ2... Category 2 FAQ3, FAQ4 有没有更好的办法?重新分级性能,比如在获取类别时使用JOIN,以同时获取每个类别下的常见问题,因此我只需运行一个查询 我的代码: <?php if($cache->hasItem('faq_categories')) { $cate
Category 1
FAQ1, FAQ2...
Category 2
FAQ3, FAQ4
有没有更好的办法?重新分级性能,比如在获取类别时使用JOIN,以同时获取每个类别下的常见问题,因此我只需运行一个查询
我的代码:
<?php
if($cache->hasItem('faq_categories'))
{
$categories = $cache->getItem('faq_categories');
}
else
{
$categories = getRows(array(
'table' => 'faq_categories',
'where' => array('is_active' => 1)
));
$cache->setItem('faq_categories', $categories);
}
?>
<div class="row">
<div class="col-md-12">
<div class="globalBox">
<div class="globalBoxInside">
<h2 class="mainTitle">FAQs</h2>
<div class="row">
<div class="col-md-10 col-md-offset-1">
<?php $c = 1; foreach($categories as $cat) : ?>
<?php
$faqs = getRows(array(
'table' => 'faqs',
'where' => array('faq_category_id' => $cat['id'])
));
?>
<div class="faq_category">
<h4 class="faq_cat_title"><?php echo $cat['title']; ?> (<?php echo $cat['questions_count']; ?>)</h4>
<ul class="faqs_questions_list row">
<?php foreach($faqs as $faq) : ?>
<li class="col-md-6"><i class="fa fa-dot-circle-o"></i> <a href="<?php echo getURI('faqs'); ?>/<?php echo encryptParam('CA' . $cat['id'] . '-' .$faq['id']); ?>"><?php echo $faq['question']; ?></a></li>
<?php endforeach; ?>
</ul>
</div>
<?php endforeach; ?>
</div>
</div>
</div>
</div>
</div>
</div>
常见问题
()
感谢您的回答。您可以选择所有类别并循环选择每个类别的常见问题解答 伪Python代码:
categories = execute('select id, name from categoryTable order by name')
for category in categories:
print category.name
faqs = execute('select question, answer from faqTable where categoryId=' + category.id)
for faq in faqs:
print faq.question + ' - ' + faq.answer
您为完成此操作而编写的查询在哪里?您应该发布您的查询。@如果没有错误,我只是在寻找更好的方法,请参阅更新的问题。这是我正在做的,我正在寻找更好的解决方案,在一个查询中可以获得与每个类别相关的所有常见问题,我的问题是,这是可能的吗?您可以使用连接一次加载所有数据,如选择c.name,f.question,f.answer from FAQ表f left join categoryTable c on f.categoryId=c.id按c.name,f.answer的顺序,f.answer,然后循环此光标,但这样我无法获得所需的输出,请查看有关输出的问题,如果我错了,请告诉我,很好,如果你能把代码放在这里。谢谢