在我的网站中,我需要在一个页面中显示所有产品。 让我进一步解释一下。 项目的详细信息将保存在mysql表中。我需要使用该项目创建一个品牌目录页面。 如果有从字母A开始的项目,
A
项目从B开始,
乙
就像A-Z我需要显示。但我是PHP的新手,并试图创建一个逻辑,但没有任何东西。 所以请任何人帮助我吗?>
先谢谢。
快速回复会很好。
感谢
答案 0 :(得分:3)
试试这个:
$sql = mysql_query("SELECT * FROM ......");
$res = array();
while($row = mysql_fetch_assoc($sql)){
$title = $row['title'];
$letter = substr($title, 0, 1);
$res[$letter][] = $title;
}
ksort($res);
echo "<pre>";
print_r($res);
答案 1 :(得分:1)
你说你正在使用MySQL,但出于某种原因想要在PHP中进行排序。您是否了解(My)SQL中的ORDER BY构造?
这使得即使在进入PHP之前,也可以按字母顺序对记录进行排序。想象一下看起来像这样的查询:
SELECT name
FROM table
然后你可以想象得到一个结果:
John
Abe
Pete
Frank
但是当您使用ORDER BY构造并将查询转换为:
时SELECT name
FROM table
ORDER BY name
您可以按字母顺序获取结果(文本数据类型的默认值)
Abe
Frank
John
Pete
如果您决定将降序排序,只需使用ORDER BY name DESC
(或ASC
明确地按升序排序)
答案 2 :(得分:0)
在mysql查询中尝试命令
SELECT id,name from TABLE order by name asc;
现在从您从查询中收到的内容搜索char'A'并相应地创建该块。
答案 3 :(得分:0)
建议采用这种方法:
for
循环key
为'A'你应该得到像这样结构的关联数组:
array(
"A" => array("Armani", "Anan", "Aungundo"),
"B" => array("Bacardi", "Barloni"),
"C" => ... ,
...
)
答案 4 :(得分:0)
您可以使用Mysql查询解决此问题:
$letter = 'a'; // or 'b' ... 'z'
$q = mysql_query(" select * from `my_table` where `my_coloumn` like '".$letter."%' ");
while($r = mysql_fetch_object($q))
{
echo $r->my_cloumn.'<br />';
}