Intereting Posts
Как отправить динамическую таблицу HTML как почту в php? PHP: преобразовать специфические боснийские символы в не-боснийские (стандартные символы utf8) является ли определение типа mime лучшим способом для обнаружения своего рода файла? тег <strong> с использованием TCPDF Данные POST JSON через CURL и захват Проверка типа MIME бесполезна для загрузки файла? (в частности, используя API файлов Javascript)? Почему этот PHP-код (комета) не работает? Многочисленные команды PHP SSH Блок Magento Приходит с пустым выходом Как отредактировать этот запрос MySQL, чтобы включить дополнительный столбец с count и avg? Переключатель PHP () не работает Загрузка страницы – белая «вспышка» между страницами Рассмотрение предупреждений как ошибок как сохранить сеанс активным, даже я открылся на нескольких вкладках в одном браузере Как извлечь полные ссылки, используя Simple-HTML-DOM?

Группируйте по первой букве, в алфавитном порядке, лучший способ?

Вот мой код:

<div class="widgeter-content no-padding"> <ul id="contacts"> <?php while ($r = mysql_fetch_array($q)){ $currentletter = substr($name,0,1); if ($currentletter != $lastletter){ ?> <!-- start li data group for specific alphabetic letter --> <li data-group="<?=$currentletter;?>"> <a class="title"><?=strtoupper($currentletter);?></a> <? } ?> <ul> <li> <a href="#"> <span><?=$name;?></span> </a> </li> </ul> <? if ($currentletter != $lastletter){ ?> </li> <!-- end data group (not currently working, ends on first result) --> <? } $lastletter = $currentletter; } ?> </ul> </div> 

То, что я пытаюсь сделать:

 A: Alfred Annie B: Bob Billy 

Как вы можете видеть, данные обернуты в группу данных li.

Первая часть кода работает отлично, но последняя часть (где я пытаюсь поместить закрытый тег li перед комментарием конца, показывает после первого результата каждого цикла, где ему нужно показать в КОНЕЦ каждой буквы Результаты).

Какой был бы лучший способ сделать это? Я уверен, что его совершенно очевидно, чего я пытаюсь достичь, но я не могу представить логического способа получить структуру кода, как я этого хочу.

спасибо

  $res = array(); while ($r = mysql_fetch_array($q)){ $currentletter = substr($name,0,1); $res[$currentletter][] = $name; } foreach($res as $key=>$val){ /// here you add your li /// here $key will give you letter and $val will give you name echo $key; foreach($val as $reqvals){ echo $reqvals; echo "<br>"; } } 

Какой был бы лучший способ сделать это?

Если вы извлекаете строку из базы данных, почему она не может содержать GROUP BY и получать записи. Это предпочтительный способ сделать это.

Предполагая, что имя столбца first_name

 group by substr(first_name,1,1)