![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
ГУРУ! Надобна от Вас помощь. Есть список авторов статей в БД-мускулов, как вывести этот список по алфавиту, т.е. "А" - ...авторы, "Б" - ...авторы, и т.д. короче типа как оглавления делаются. Т.е. как Я понимаю нужно специфически цикл сбацать, но мозгов не хватает. Буду признателен за помощь. С Уважением Андрей. Пишите на почту: froggy@tsrv.ru или jaba@kmivc.kubannet.ru.
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты... |
|
|||||
|
Проблем нет, елси у тебя мускул русифицированный. Тогда просто в запросе добавляешь " select ... from ... where ... order by name;"
Но, к сожалению не все коту масленица. В таком случае приходится сортировать самому. Для этого заливаешь всю выборку из таблицы в ассоциативный массив и сортируешь уже массив, а потом выводишь, как тебе надо. Пример: // Для начала считываем всю выборку в двумерный массив
$r = mysql_query("select name1,name2 from authors;");
$a = array();
while (list($name1,$name2)=mysql_fetch_row($r)){
$a[] = array($name1,$name2);
};
//Поскольку сортировка производится не совсем обычная,
//приходится писать еще и функцию сравнения двух элементов
funciton sort_func($a,$b){
// Каждый элемент - сам по себе массив из двух элементов
// Для полной алфавитной сортировки надобно соединить
// имя с фамилией
return strcmp($a[0].$a[1], $b[0].$b[1]);
};
//Затем сортируем с использованием нашей функции
usort($a, sort_func);
![]() Надо либо просто запоминать первую букву выводимой фамилии, и по мере вывода следить, когда она изменится
__________________
Не ошибается то, что не работает. (с) Windows |
|
|||||
|
Мускул у Меня не русский и поэтому не сортирует. Спасибо за помощь поковыряюсь с твоей подсказкой
![]()
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты... |
|
|||||
|
Да кстати. Руссификация MySQL заключается в том чтобы научить его распознавать русские символы при работе с базами по запросам. А делается это, как Я выяснил, просто. Надо только выставить Charsets по умолчанию не latin1, кот. устанавливается при интсталляции, а cp1251(именно cp1251 а не win1251).
![]()
__________________
FROGGY: ничто так не обманчиво, как слишком очевидные факты... |
|
|||||
|
Регистрация: Mar 2001
Адрес: Петрозаводск
Сообщений: 44
|
---------------------------------------------------------------------------------
Да кстати. Руссификация MySQL заключается в том чтобы научить его распознавать русские символы при работе с базами по запросам. А делается это, как Я выяснил, просто. Надо только выставить Charsets по умолчанию не latin1, кот. устанавливается при интсталляции, а cp1251(именно cp1251 а не win1251). --------------------------------------------------------------------------------- Ага, а если хостинг западный? Насколько я помню, CP можно указывать прямо в запросе. Но если есть возможность, то конечно проще поставить cp1251 по умолчанию. |
![]() |
Часовой пояс GMT +4, время: 05:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|