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

Форум MySQL

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

 

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

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

тема: Сортировка по алфавиту в SQL
 
 автор: toproot   (17.11.2009 в 18:16)   письмо автору
 
 

Выводится список файлов, используется постраничная навигация, все данные не извлекаются, извлекаются только те, которые нужно, например с 20го по 40 й.
Потом масив сортируется asort($array); и выводится.
Получается что сортируется только 20 значений. Поетому возникла необходимость извлекать ячейки из базы данных mySQL по алфавиту.
Нужен запрос чтото вроде : SELECT `id`,`filename` FROM `files` WHERE `like`='$var' LIMIT $x,$y; в цикле.
Сюда нужно вставить или DISTINCT или ORDER BY или хто его знает что , что сортирует по алфавиту . подскажите плиз. сортировка по полю `filename`

извените за неграмотность

  Ответить  
 
 автор: ols   (18.11.2009 в 03:14)   письмо автору
 
   для: toproot   (17.11.2009 в 18:16)
 

Для сортировки используется оператор ORDER BY, у которого 3 режима сортировки -
1. ASC - сортирует по возрастанию. Данный режим используется по умолчанию.
2. DESC - сортирует по убыванию.
3. RAND() - выводит в случайном порядке, то есть ничего не сортирует.

  Ответить  
 
 автор: toproot   (19.11.2009 в 20:25)   письмо автору
 
   для: ols   (18.11.2009 в 03:14)
 

сейчас на могу проверить,
т.е SELECT * FROM `files` WHERE `like`='$like' ORDER BY `filename` LIMIT 1; ?
оно будет выводить файлы попорядку, или мне прийдется убрать цикл:

$n = mysql_num_rows($query)
for($i=0;$i<$n;$i++)
{
$sq = mysql_query("SELECT * FROM `files` WHERE `like`='$like' ORDER BY `filename` LIMIT 1;
$f = mysql_fetch_array($sq);
$arrayfiles[$i] = $f[id];
}
// Идентефикаторы  в $arrayfiles будут попорядку, или же ORDER BY работает только сразу ?

  Ответить  
 
 автор: ols   (19.11.2009 в 20:54)   письмо автору
 
   для: toproot   (19.11.2009 в 20:25)
 

> оно будет выводить файлы попорядку, или мне прийдется убрать цикл:

Как минимум нужно отказаться от mysql_num_rows, если сервер не жалко.

Переменная $query какой из себя запрос представлет?

Сам запрос будет сортировать по filename в порядке возрастания

  Ответить  
Rambler's Top100
вверх

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