-1

我在数据库表中有两组 4 个评分输入,一组priority_id为 19,另一priority_id组为 20。如果我在 phpMyAdmin 中运行下面的 sql 查询,它将返回id主键字段的值并将它们列在正确的顺序。如果我运行我的 php 文件并选择priority_id19 的值,它们会以正确的顺序显示在屏幕上。但是,如果我选择priority_id20 的值,则 id 值会以一种奇怪的、不合理的顺序显示在屏幕上。任何人都有想法可能导致这种情况?我已经尝试将其添加order by到 sql 查询中,但这似乎没有帮助。

$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;
}

这些是我的数据库字段及其数据。值字段目前为空。

编号 | priority_id | 类别 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 | 
4

1 回答 1

2

记录在数据库中没有内在顺序。出于所有意图和目的,检索它们的顺序是随机的。如果它们按任何特定顺序排列,那是因为它们碰巧按该顺序存储或按该顺序在索引中遇到。

如果您期望特定顺序,请ORDER BY在查询中使用子句。

于 2013-03-07T15:13:39.263 回答