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

Форум PHP

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

 

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

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

тема: сортировка из базы
 
 автор: Rembrant   (02.07.2008 в 13:48)   письмо автору
 
 

Здравствуйте!
Есть база данных и в ней таблица в которой есть поле online и оно содержит цифры, вот мне нужно вывести все строки из этой таблицы по убыванию цифр, т.е. так:

id login online
1 test 15
2 test2 1
3 test3 12
4 test4 2

где id => int а login и online => text

Нужно вывести строки в порядке

test
test3
test4
test2

чтобы было по убыванию, но трудность в том, что наверное значение полей online воспринимает как строку ведь а ни как цифру

я пробовал так:

$sql="SELECT * FROM online_table WHERE online>0 ORDER BY online desc";
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result))
{
$login = $row["login"];
echo $login;
}

но выводит в неверном порядке, как-то можно решить эту задачу?

   
 
 автор: Эй   (02.07.2008 в 14:10)   письмо автору
 
   для: Rembrant   (02.07.2008 в 13:48)
 

Как вариант, сделать нормальную стуктуру. Числа хранятся в своих типах, строки в своих.

   
 
 автор: Rembrant   (02.07.2008 в 14:12)   письмо автору
 
   для: Эй   (02.07.2008 в 14:10)
 

я бы сделал, но там хранятся не только числа, точнее в данный момент только числа, но потом будут не только

   
 
 автор: Rembrant   (02.07.2008 в 14:18)   письмо автору
 
   для: Rembrant   (02.07.2008 в 14:12)
 

вот когда данные заносятся в поле online то может быть на этом этапе делать проверку на число или нет, только подскажите, как узнать к какому типу принадлежит переменная?

   
 
 автор: Эй   (02.07.2008 в 14:50)   письмо автору
 
   для: Rembrant   (02.07.2008 в 14:18)
 

gettype - возвращает имя типа переменной

is_numeric - проверяет является ли переменная числом, либо строкой, которая может быть преобразована в число.

var_dump(gettype('abc')); // string
var_dump(gettype('123')); // string
var_dump(gettype(123)); // integer

var_dump(is_numeric('abc')); // false
var_dump(is_numeric('123')); // true
var_dump(is_numeric(123)); // true

   
 
 автор: Эй   (02.07.2008 в 14:43)   письмо автору
 
   для: Rembrant   (02.07.2008 в 14:12)
 

Очень странно, что например там может быть?

   
 
 автор: Rembrant   (02.07.2008 в 15:14)   письмо автору
 
   для: Эй   (02.07.2008 в 14:43)
 

спасибо, навели на settype() который помог

   
Rambler's Top100
вверх

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