|
|
|
| Добрый день форумчане.
CREATE TABLE IF NOT EXISTS `table` (
`id` int(4) NOT NULL auto_increment,
`name` varchar(200) NOT NULL,
PRIMARY KEY (`id`)
) ;
--
-- Дамп данных таблицы `table`
--
INSERT INTO `table` (`id`, `name`) VALUES
(1, 'Алексей'),
(2, 'Антон'),
(3, 'Виталий'),
(4, 'Георгий'),
(5, 'Светлана'),
(6, 'Юрий'),
(7, 'Юлия'),
(8, 'Савелий'),
(9, 'Галина'),
(10, 'Мария');
|
Как вывести все русские имена в алфавитном порядке в таком виде:
А
Алексей
Антон
В
Виталий
Г
Галина
Георгий
Хочется, чтобы выполнялось такое условие сортировки: Галина идет перед Георгий
Но если так нельзя или супер сложно, то можно просто по алфавиту
Подскажите как реализовать? | |
|
|
|
|
|
|
|
для: selma
(16.06.2012 в 06:34)
| | Сортируйте запрос по имени, а при выводе сравнивайте значение переменной, объявленной вне цикла, с первой буквой имен, и при неравенстве выводите первую букву, и присваивайте ее этой переменной. | |
|
|
|
|
|
|
|
для: selma
(16.06.2012 в 06:34)
| | почитайте тему там как раз ваш случай
вот это переделайте под свою структуру бд
$sql = mysql_query ("SELECT LEFT(`brand_auto_title,1`) abc , * FROM `brand_auto` ORDER BY `brand_auto_title`");
$bank="";
echo "<div class='zag'>";
while ($sql_row = mysql_fetch_array($sql)) {
if($sql_row[abc]<>$bank){$bank=$sql_row[abc]; echo "</div><div class='abc'>.$sql_row[abc]."<br /><hr />";
echo $sql_row[brand_auto_title]."<br />";
}
echo "</div>";
|
confirm, обозначил алгоритм словами, я подкрепил примером, за вами обработка "напильником" | |
|
|
|
|
|
|
|
для: Valick
(16.06.2012 в 09:30)
| | Спасибо, сделала немного подругому. Что скажете по сортировке внутри каждой буквы? чтобы сортировала не только по первым, но хотябы и по вторым тоже, чтобы Га выводил первее Ге | |
|
|
|
|
|
|
|
для: selma
(16.06.2012 в 12:39)
| | А разве SELECT ... ORDER BY `name` сортирует как-то иначе? Если у вас такое происходит, то значит е в этом имени английская. | |
|
|
|