Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Сортировка по убыванию при выводе из MySQL

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Iw@n.kot
Отправлено: 01 Ноября, 2006 - 09:57:59
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2006  


Помог: 0 раз(а)




Здравствуйте,
У меня такая проблема: скажем есть таблица в MySQL:
+-----------+------------+
| name | number |
+-----------+------------+
|name1 | 4 |
|name2 | 2 |
|name3 | 17 |
|name4 | 6 |
|name5 | 0 |
|name6 | 121 |
+-----------+------------+

Нужно чтобы данные при выводе сортировались по убыванию:
121 - 17 - 6 - 4 - 2 - 0 и выводил 4 первых результата (121 - 17 - 6 - 4)
Я делаю запрос $sql = "SELECT * FROM table ORDER BY number DESC LIMIT 4";
Но он сортирует не так как надо и выводит:
6 - 4 - 2 - 17 - 121 - 0
может я делаю неверно запрос?
 
 Top
Iw@n.kot
Отправлено: 01 Ноября, 2006 - 14:01:36
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2006  


Помог: 0 раз(а)




попробовал:
$query = SELECT * FROM 'table' ORDER BY 'number' DESC LIMIT '4';
Выводит ошибку :" Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING in "

попробовал:
$query = "SELECT * FROM 'table' ORDER BY 'number' DESC LIMIT 4";
Выводит ошибку :" You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''table' ORDER BY 'number' DESC LIMIT 4' at line 1 "

Когда пишу
$query = "SELECT * FROM table ORDER BY 'number' DESC LIMIT 4"; или
$query = "SELECT * FROM table ORDER BY number DESC LIMIT 4";
Выдает результат:
6 - 4 - 2 - 17 - 121 - 0 вместо 121-17-6-4-2-0

В качестве базы использую MySQL 4.1.16 а скрипт на PHP 4.4.2
 
 Top
kilexx
Отправлено: 01 Ноября, 2006 - 15:59:43
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Нояб. 2006  


Помог: 0 раз(а)




поле number - текстовое?
 
 Top
Iw@n.kot
Отправлено: 01 Ноября, 2006 - 16:11:53
Post Id


Новичок


Покинул форум
Сообщений всего: 3
Дата рег-ции: Окт. 2006  


Помог: 0 раз(а)




kilexx спасибо, изменил поле на INT, теперь выводит то что нужно.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB