如何使用PHP和MySQL按字母和数字顺序获取数据?
如何使用PHP和MySQL按字母和数字顺序获取数据 我想这样显示我的数据: 请帮助我使用PHP和MySQL解决这个问题如何使用PHP和MySQL按字母和数字顺序获取数据?,php,mysql,Php,Mysql,如何使用PHP和MySQL按字母和数字顺序获取数据 我想这样显示我的数据: 请帮助我使用PHP和MySQL解决这个问题 <ul> <?php include "config.php"; $sql4 = mysql_query("select * from categories"); $count = mysql_num_rows($sql4); while($rows = mysql_fetch_array($sql4))
<ul>
<?php include "config.php";
$sql4 = mysql_query("select * from categories");
$count = mysql_num_rows($sql4);
while($rows = mysql_fetch_array($sql4)){
?>
<li><?php echo $rows['category_name'] ?></li>
<?php } ?>
</ul>
您可以创建一个2D数组:让$result
成为您查询的mysql\u结果:
$data = array();
while($row = mysql_fetch_assoc($result)) {
$letter = strtolower(substr($row["category_name"],0,1));
if(is_numeric($letter)) $letter = "0-9";
if(!isset($data[$letter])) $data[$letter] = array();
$data[$letter][] = $row["category_name"];
}
然后迭代生成所需的表:
foreach($data as $column=>$values) {
// $column contains the first letter (or 0-9)
foreach($values as $value) {
// $value contains category_name
}
}
我希望你能从这一点上完成它,因为这个网站不应该为你解决所有的问题。更新技能到PDO,因为mysql不会很快工作
<?php include "config.php";
$sql4 = mysql_query("select * from categories order by category_name ASC");
$count = mysql_num_rows($sql4);
while($rows = mysql_fetch_array($sql4)){
$l = $row['category_name'][0]; // first letter/number
$category_list[$l][]= $row['category_name'];
}
您的代码是什么?数据从哪里来?我已经添加了代码..请检查sql查询中的使用按类别排序\u name ASC
请阅读我的问题。我希望这不是因为你的例子前后矛盾。您想要按字母顺序降序还是按字母顺序升序?谢谢您的回复。您能详细描述一下如何显示吗?根据我的代码再次感谢..所以我必须显示数据,如我是否正确?否-查看我的更新。我相信你能从这一点上完成它。好的。对于数字,这是可以的。。但按字母顺序如何划分?请参阅此链接。我想要像这样显示数据
<?php include "config.php";
$sql4 = mysql_query("select * from categories order by category_name ASC");
$count = mysql_num_rows($sql4);
while($rows = mysql_fetch_array($sql4)){
$l = $row['category_name'][0]; // first letter/number
$category_list[$l][]= $row['category_name'];
}
<ul>
<?php
if(is_array($category_list)){
foreach($category_list as $k=>$v) {
echo "<li>$k</li>"; // letter/number
foreach($v as $cat) {
echo "<li>$cat</li>"; // category name
}
}
}
?>
</ul>