【发布时间】:2013-12-06 09:02:18
【问题描述】:
所以我已经解决这个问题一段时间了,但我似乎无法让它发挥作用。我的数据库中有一个 category 表和一个 link。我正在尝试将“类别”标题显示为选项卡,将“链接”显示为我的选项卡内容。
让我分享我的代码,我会解释问题:
<ul class="nav nav-tabs" id="lb-tabs">
<?php $sqlCat = $db->query('SELECT `tab_title` FROM `category`'); ?>
<?php
foreach ($sqlCat as $row):
echo '<li><a href="#' . $row['tab_title'] . '" data-toggle="tab">' .
$row['tab_title'] . ' </a></li>';
endforeach;
?>
</ul>
<div class="tab-content">
<?php foreach ($sqlCat as $row2):
$tab = $row2['tab_title'];?>
<div class="tab-pane active" id="<?php $row['tab_title']; ?>">
<div class="links">
<ul class="col">
<?php
$items = $db->prepare('SELECT u_links.title, u_links.link, u_links.tid, category.id, category.tab_title
FROM u_links, category
WHERE category.id = u_links.tid
ORDER BY category.id ');
$items->execute();
while ($r = $items->fetch(PDO::FETCH_ASSOC)) {
echo '<li>' . $r['title'] . '</li>';
}
?>
</ul>
</div>
</div><!-- /tab-pane -->
<?php endforeach; ?>
</div>
此当前代码未显示“选项卡内容”div 中的内容。例如,我尝试过不同的方法:
$tab = '';
$content = '';
$link = '';
$tab_title = null;
while($row = $items->fetch(PDO::FETCH_ASSOC)) {
$link = '<li>' . $row['title'] . '</li>';
if ($tab_title != $row['tab_title']) {
$tab_title = $row['tab_title'];
$tab .= '<li><a href="#' . $row['tab_title'] . '" data-toggle="tab">' .
$row['tab_title'] . ' </a></li>';
$content .= '<div class="tab-pane active" id="' . $row['tab_title'] . '"><div
class="links"><ul class="col">' . $link . '</ul></div></div><!-- /tab-pane //
support -->';
}
}
使用此代码,我要么得到太多选项卡(与类别中的项目一样多),而我只想要一个选项卡用于许多项目(链接)。或者我每个部分只会得到一个链接,并且不会从数据库中输出该行。
如果有人可以帮助我解决这个问题,将不胜感激! :) 谢谢。
【问题讨论】:
标签: php html mysql twitter-bootstrap