Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Странная сортировка
 
 автор: Sergey89   (03.06.2005 в 17:07)   письмо автору
 
 

Вот сейчас делаю каталог ссылок на базе данных, а имеено блок администрирования. Вот посмотрите кусок кода:

...
//Получаем список разделов 
    $query = "select * from section order by name asc;";
    $section = mysql_query($query);
    
    if ($section)
    {              
        while ($section_array = mysql_fetch_array($section))//Выводим список разделов в цикле
        {
            $id_section = trim($section_array["id_section"]);            
            $name = trim($section_array["name"]);
...

Вроде бы, ничего криминального нет, но меня поразил результат сортировки значений. Можете полюбоваться в присоединённом изображении. Как с этим бороться?

   
 
 автор: Loki   (03.06.2005 в 17:49)   письмо автору
 
   для: Sergey89   (03.06.2005 в 17:07)
 

Мне кажется что это связано с настройками mysql: у меня одни и те же данные сортируются на хосте и в локале по разному.

   
 
 автор: cheops   (03.06.2005 в 19:37)   письмо автору
 
   для: Sergey89   (03.06.2005 в 17:07)
 

На хостинге будет всё нормально. По умолчанию порядок сортировки английский... в старых версиях MySQL (до 4.0.24) для его замены нужно было перекомпилировать MySQL, если хотите на локальном хосте нормальную сортировку загрузите 4.024 и создайте в корне диска С, конфигурационный файл my.ini следующего содержания
[mysqld]

# The TCP/IP Port the MySQL Server will listen on
port=3306

#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/mysql/"

#Path to the database root
datadir="C:/mysql/Data/"

# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=cp1251

   
 
 автор: Loki   (03.06.2005 в 20:45)   письмо автору
 
   для: cheops   (03.06.2005 в 19:37)
 

У меня ситуация обратная: все нормально сортируется в локале и неправильно на хосте:)

   
 
 автор: cheops   (04.06.2005 в 12:35)   письмо автору
 
   для: Loki   (03.06.2005 в 20:45)
 

А хостеры это как-нибудь комментируют - как бы это их прямая обязанность сделать так, чтобы сортировка русского текста была нормальной.

   
 
 автор: Loki   (04.06.2005 в 16:51)   письмо автору
 
   для: cheops   (04.06.2005 в 12:35)
 

Я просто не озадачивался этим пока, так как все что показывается посетителям соритруется только по датам, а в админке меня это не очень напрягает. Но в общем вы правы - стоит их потеребить...:)

   
 
 автор: larush   (27.09.2005 в 09:15)   письмо автору
 
   для: cheops   (03.06.2005 в 19:37)
 

попробовал создать My.ini, не помогло. Как заставить правильно сортировать ?

SELECT *
FROM 'sp_sec'
ORDER BY sector LIMIT 0 , 30

id sector
2 Автотранспорт
3 Архив
4 АХС
5 Бухгалтерия
6 Бухгалтерского учета
7 Выпуска счктов
9 Выделенное обслуживание
10 Ведения строительства
11 Административной политики
14 Работа с абонентами

   
 
 автор: cheops   (27.09.2005 в 13:39)   письмо автору
 
   для: larush   (27.09.2005 в 09:15)
 

А какая версия MySQL и опереационная система?

   
 
 автор: larush   (27.09.2005 в 14:17)   письмо автору
 
   для: cheops   (27.09.2005 в 13:39)
 

mySQL 4-0-18-nt, Win XP

   
 
 автор: cheops   (27.09.2005 в 22:38)   письмо автору
 
   для: larush   (27.09.2005 в 14:17)
 

Нет 4.0.18 - наладить нормальную раскладку можно только перекомпиляцией сервера MySQL - нужна 4.0.24.

   
 
 автор: Agronom   (22.10.2005 в 18:28)   письмо автору
 
   для: cheops   (27.09.2005 в 22:38)
 

У меня такая же проблема, фаил my.ini не помог, у меня версия mysql 4.1.14 система Windows 2003 server

   
 
 автор: cheops   (22.10.2005 в 22:35)   письмо автору
 
   для: Agronom   (22.10.2005 в 18:28)
 

А куда my.ini ложите? В корень диска C?

   
 
 автор: Agronom   (04.11.2005 в 16:18)   письмо автору
 
   для: cheops   (22.10.2005 в 22:35)
 

Да, конечно!

   
 
 автор: Agronom   (26.11.2005 в 11:46)   письмо автору
 
   для: Agronom   (04.11.2005 в 16:18)
 

А вот в phpmyadmin есто параметр при создании таблиц и полей - _сравнение_ , но там нет windows-1251, возмложно благодаря этому и совершается сортировка? Может у кого-нибудь, кто сам настраивал сервер работает сортировка? Поделитесь опытом, пожалуйста.

   
 
 автор: cheops   (26.11.2005 в 13:05)   письмо автору
 
   для: Agronom   (26.11.2005 в 11:46)
 

Была проблема с сортировкой под MySQL версии ниже 4.0.24 - потом проблемы исчезли... Раньше для задания кодировки вообще требовалась перекомпиляция базы данных - в новых дистрибутивах такого не должно быть.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования