排序Mysql的结果我已经在MySQL下表: -PHP - 循环AZ使用动态链接
id | bandname 1 | a perfect circle 2 | aerosmith 3 | b.b king 4 | cat stevens
我获取所有的结果在一个查询中使用: -
$result = mysql_query("SELECT id, bandname FROM bands ORDER BY bandname ASC");
在我的网页我有这带来了一个新的标签AZ锚链接: -
<ul class="tabs-nav">
<li class="active"><a href="#0">0-9</a></li>
<?php
// Print a-z link
for ($i=97; $i<=122; $i++) {
$curletter = chr($i);
echo '<li><a href="#'.$curletter.'" title="Band names beginning with letter '.$curletter.'" class="uppercase">'.$curletter.'</a></li>';
}
?>
</ul>
我遇到了麻烦理解过程中列出的带他们的标签。目前,我的代码是: -
<div class="tabs-container">
<?php
// Print a-z tabs
for ($i=97; $i<=122; $i++) {
$curletter = chr($i);
?>
<div class="tab-content" id="<?php echo $curletter; ?>">
<?php
while($bands = mysql_fetch_array($result)) {
$bandname = $bands['bandname'];
$bandid = $bands['id'];
$bandletter = strtolower(substr($bandname , 0 , 1));
}
if($curletter==$bandletter) {
echo '<a href="'.$bandid.'/" title="'.$bandname.'>'.$bandname.'</a>';
}
?>
</div>
<?php } ?>
</div>
我知道这是不正确,因为我打电话里面的while循环的循环,只是看起来不正确,我 - 作为AZ标签创建过程的每一次迭代将不得不通过while循环。
如果我要处理5000条乐队,最好的方法是什么?一个sql结果会多次循环,每个波段的一个结果保存在一个字母数组中,或者每当用户点击其中一个锚链接时发出一个ajax sql查询?
这甚至没有开始处理0-9选项卡,我认为这将是一个问题本身给我目前的代码。任何指针真的会被赞赏。
...我已经寻找一个答案,但没有发现类似的东西,以我的问题:)
虽然我可以看到更好的解决方案循环问题你有(一个循环应该是足够的),我肯定不会向浏览器发送5000个结果,这不会带来非常愉快的浏览体验。 – jeroen