#php
#php
Вопрос:
Допустим, у меня была таблица с :
First | Last
-------------------
Bob Dylan
Ashley Scott
Lol Cats
black cake
Это упорядочило бы их, но сделало
A:
Ashley Scott
B:
Bob Dylan
Black Cake
L:
lol cats
Я знаю, как составить список по abc из MySQL. но я хочу, чтобы он помещал букву перед каждой группой имен. Таким образом, я могу создать приятный интерфейс, а в верхней части страницы разместить буквы A, B, C, D вверху, которые обозначают контакты #letterL
Я знаю, как сделать #links в URL. Это просто идентификатор div. Я знаю, как захватить из MySQL. Часть, в которой я не уверен, повторяет букву перед группой имен, которые начинаются с этой буквы.
Я думал получить первую букву имени и сохранить ее в переменной.
if ($lastletter == $currentleter) {
echo name
} else {
$lastletter = $currentleter;
echo '<div id="Letter ' . $currentleter . '" class="letterheader">' . $currentleter . '</div>';
}
Не уверен, что эта идея была бы эффективной идеей. Будет ли это правильным решением для этого?
Комментарии:
1. Ваш вопрос касается исключительно уровня представления — PHP в данном случае. Для ясности, если буквы нет в списке результатов, вы не хотите ее показывать (т. Е.: отсутствующий C — K)?
2. Да. Если буквы нет, не показывайте. Я думал о том, чтобы также добавлять каждую новую букву в массив для генерации букв быстрого перехода.
Ответ №1:
Непроверенный код, но что-то вроде этого должно сработать:
$currentleter = substr($name , 0 , 1);
if ($lastletter != $currentleter){
echo '<div id="Letter' . $currentleter . '" class="letterheader">' . $currentleter . '</div>';
$lastletter = $currentleter;
}
echo $name;
Ответ №2:
Вы можете выбрать записи с порядком по имени.
$sql = "select * from tblname order by firstname";
$lastletter = "A";
echo $lastLetter;
if ($lastLetter != substr($firstname, 0,1))
echo $lastLetter;
echo $firstname;
Ответ №3:
Это выглядит как довольно хорошее решение, за исключением того, что в идентификаторах не должно быть пробелов, поэтому вы хотите изменить
<div id="Letter ' . $currentleter . '" class="letterheader">
Для
<div id="Letter_' . $currentleter . '" class="letterheader">
.