你可以试试这样的 -
<?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>";