Официальный сайт студ.городка НГТУ
Программирование и БД » [php MySQL] Последовательность 

#1  16.01.08 17:43

M16
Профиль

[php MySQL] Последовательность

Начал извлекать данные из базы и задал параметр ORDER BY `table`.`id`  ASC
!НО! в ячейки id лежат значание от 0 до 10
и при таком роде вывода получаеться полнейшая белиберда .
вместо желаемого 0 1 2 3 4 5 6 7 8 9 10
мы видим 0 1 10 2 3 4 5 6 7 8 9

Подскажите как преодалеть это безобразие.

Offline

#2  16.01.08 18:12

Re: [php MySQL] Последовательность

прально, сравнение оп ASCII значениям - вот и выдал такое :)

Offline

#3  16.01.08 18:13

Re: [php MySQL] Последовательность

тип данных id?

Offline

#4  16.01.08 18:13

M16
Профиль

Re: [php MySQL] Последовательность

ну так что подскажешь?

Offline

#5  16.01.08 18:13

M16
Профиль

Re: [php MySQL] Последовательность

Stell Hawk написал(а):

тип данных id?

int     

id не индекс!
значения присваиваються

Исправлено M16 (16.01.08 18:14)

Offline

#6  16.01.08 18:14

Re: [php MySQL] Последовательность

сделай дам таблицы, выложи тут
хотьбы не весь а как раз 10 строк

Offline

#7  16.01.08 18:17

M16
Профиль

Re: [php MySQL] Последовательность

а пичем тут вся таблица?

Offline

#8  16.01.08 18:18

Re: [php MySQL] Последовательность

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

Offline

#9  16.01.08 18:23

M16
Профиль

Re: [php MySQL] Последовательность

$sql = "SHOW TABLE STATUS FROM table1 LIKE 'id_elementa'";
$result = mysql_query($sql);
$row = mysql_fetch_assoc($result);     
$count = $row['Auto_increment']-1;

$sql = "SELECT * FROM db_name.table WHERE table.id_elementa = $count ORDER BY table.id ASC";

Offline

#10  16.01.08 18:25

M16
Профиль

Re: [php MySQL] Последовательность

CREATE TABLE IF NOT EXISTS `table` (
  `id_elementa` int(11) NOT NULL,
  `id` text NOT NULL,
  `vrema` text NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

Offline

#11  17.01.08 08:45

Re: [php MySQL] Последовательность

M16, у тебя поле id типа text, и мускул тебе его сортирует как текст,визуально даже видно:) (0 1 10).
зы..а почему id и почему text?

Offline

#12  17.01.08 10:29

Igo
Профиль

Re: [php MySQL] Последовательность

M16, чувак, советую тебе разобраться с SQL как следует, потому как видно что у тебя знаний по нему маловато... в вэбе это очень сильно поможет....

а по теме, как уже сказали, твое поле типа text, поэтому и сортируется оно посимвольно - сначала сравнивается первый символ строк, потом второй, третий и т.д.

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

SELECT * FROM db_name.table WHERE table.id_elementa = $count ORDER BY CONVERT(table.id, UNSIGNED) ASC

Offline

#13  17.01.08 11:18

M16
Профиль

Re: [php MySQL] Последовательность

спасибо :)
понял учту

ЗЫ я итак учусь на примерах что не выходит спрашиваю :)

Offline

#14  17.01.08 11:19

Re: [php MySQL] Последовательность

iDrum написал(а):

а почему id и почему text?

Offline

#15  17.01.08 18:19

M16
Профиль

Re: [php MySQL] Последовательность

данные присваиваю протсо :)
и автоматом поставил text

Offline

#16  17.01.08 19:40

Re: [php MySQL] Последовательность

тип данных id?

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

Offline

#17  17.01.08 20:09

M16
Профиль

Re: [php MySQL] Последовательность

осознал

Offline

Программирование и БД » [php MySQL] Последовательность 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.027 сек.
Выполнено 11 запросов.