2013-03-07 3 views
-1

У меня есть два набора из 4 входов для оценки в таблице базы данных, один с priority_id из 19, а другой с priority_id из 20. Если я запустил sql-запрос ниже в phpMyAdmin, он будет верните значения для поля первичного ключа id и перечислите их в правильном порядке. Если я запустил свой php-файл и выберем значения для priority_id 19, они отобразятся на экране в правильном порядке. Однако, если я выбираю значения для priority_id 20, значения id отображаются на экране в странном, иррациональном порядке. У кого-нибудь есть идеи, что может быть причиной этого? Я попытался добавить order by в sql-запрос, но это, похоже, не помогает.PHP MySQL запрос, отображающий результаты в странном порядке

$input_ids = array(); 

$query = "SELECT * FROM rating_inputs WHERE priority_id = '20'"; 
echo $query . "<br/>"; 

$result = mysql_query($query); 
$z=0; 
while($row=mysql_fetch_assoc($result)){ 
    $input_ids[$z] = $row['id']; 
    echo "input id: " . $input_ids[$z] . "<br/>"; 
    $z=$z+1; 
} 

Это мои поля базы данных и их данные. Поле значения пусто в данный момент.

ID | priority_id | category_id | стоимость

53 | 19 | 1 | 
54 | 19 | 4 | 
55 | 19 | 10 | 
56 | 19 | 11 | 
57 | 20 | 1 | 
58 | 20 | 4 | 
59 | 20 | 10 | 
60 | 20 | 11 | 
+0

Вы можете показать записи? –

+0

вы уверены, что ORDER BY не будет работать? –

+0

phpmyadmin обычно добавляет порядок, пытается использовать «OPTIMIZE TABLE», иногда он действует странно после многих операций вставки/удаления (также без ORDER BY, результаты указаны в таблице, а не в ID). Также укажите, есть ли у вас первичный ключ. Запустите «EXPLAIN SELECT», чтобы увидеть, использует ли запрос правильный индекс. Использовать PDO, mysql_ устарели по причине. –

ответ

2

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

Если вы ожидаете определенного заказа, используйте предложение ORDER BY в запросе.

+0

Я пытаюсь опубликовать свои записи, хотя я еще не очень хорошо знаком с этим сайтом. Думаю, мне нужно отредактировать свой оригинальный пост? – user1864848

+0

Да, комментарии не являются местом для размещения большого количества данных. – deceze

+0

Я ошибался, проблема даже возникает внутри phpMyAdmin. Я сделал таблицу OPTIMIZE TABLE и REPAIR TABLE, оба не решили проблему. id - первичный ключ, установленный в auto_increment. – user1864848

Смежные вопросы