gpt4 book ai didi

php/mysql 按第一个字符分组列表

转载 作者:行者123 更新时间:2023-11-29 14:31:12 26 4
gpt4 key购买 nike

我有以下 mysql 查询:

$manufacturers_query = "select m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, mi.manufacturers_url
from manufacturers m
left join manufacturers_info mi on m.manufacturers_id = mi.manufacturers_id
order by manufacturers_name";
$manufacturers = $db->Execute($manufacturers_query);

while (!$manufacturers->EOF) {
$man_content .= $manufacturers->fields['manufacturers_name'];
$manufacturers->MoveNext();
}

如何使生成的列表按首字母分组并在组前面添加首字母?例如:

一个

  • 阿尔法罗密欧
  • 奥斯汀·马丁

B

  • 宝马
  • 别克

C

  • 凯迪拉克
  • 雪佛兰
  • 科尔维特

最佳答案

你可以尝试这样的事情 -

<?php

$manufacturers_query = "select m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, mi.manufacturers_url
from manufacturers m
left join manufacturers_info mi on m.manufacturers_id = mi.manufacturers_id
order by manufacturers_name";
$manufacturers = $db->Execute($manufacturers_query);

$last_letter = '';

while (!$manufacturers->EOF) {
$man_content = $manufacturers->fields['manufacturers_name'];
if (strtoupper(substr($man_content, 0, 1)) != $last_letter) {
$last_letter = strtoupper(substr($man_content, 0, 1));
print "<h2>$last_letter</h2>";
}
print "<p>$man_content</p>";
$manufacturers->MoveNext();
}

或者也许这首先按第一个字母创建制造商索引数组 -

<?php

$manufacturers_query = "SELECT m.manufacturers_id, m.manufacturers_name, m.manufacturers_image, mi.manufacturers_url
FROM manufacturers m
LEFT JOIN manufacturers_info mi ON m.manufacturers_id = mi.manufacturers_id
ORDER BY manufacturers_name";
$manufacturers = $db->Execute($manufacturers_query);

$firstLetterIndexedArray = array();

while (!$manufacturers->EOF) {

$index = strtoupper(substr($manufacturers->fields['manufacturers_name'], 0, 1));
$firstLetterIndexedArray[$index][] = $manufacturers->fields;

$manufacturers->MoveNext();
}

print '<ol>';

foreach ($firstLetterIndexedArray as $letter => $man) {
print "<li>$letter</li><li><ol>";

foreach ($man as $manufacturer) {
print "<li>{$manufacturer['manufacturers_name']}</li>";
}

print "</ol></li>";
}

print "</ol>";

关于php/mysql 按第一个字符分组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10009641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com