1

所以我有一个表,里面有 10 行,

它们看起来像这样:

+++++++++++++++++++++++++++++++++++++++
+ ID + ACTIVE + NAME + DESCRIPTION    +
+++++++++++++++++++++++++++++++++++++++
+ 1  + 1      + ONE  + O-N-E          +
+++++++++++++++++++++++++++++++++++++++
+ 2  + 2      + TWO  + T-W-O          +
+++++++++++++++++++++++++++++++++++++++
+ 3  + 0      + THREE+ T-H-R-E-E      +
+++++++++++++++++++++++++++++++++++++++
+ 4  + 4      + FOUR + F-O-U-R        +
+++++++++++++++++++++++++++++++++++++++
+ 5  + 5      + FIVE + F-I-V-E        +
+++++++++++++++++++++++++++++++++++++++
+ 6  + 3      + SIX  + S-I-X          +
+++++++++++++++++++++++++++++++++++++++

我通过使用获取此表的值

$result = mysql_query("SELECT * FROM Table WHERE ACTIVE != 0") or die (mysql_error());

然后我用以下方式获取它们:

$values = mysql_fetch_array($result) or die (mysql_error());

但现在的问题是,结果是这样的:1 2 4 5 3

我想在保留属于 ACTIVE 的 NAME 和 DESCRIPTION 的同时订购这个。

我已经阅读了一些关于排序 2D 数组的内容,但我没有得到任何结果,所以如果有人有一个明确的解决方案或明确的文章可以帮助我很多!谢谢阅读。

4

4 回答 4

3

是的,切换到mysqli或其他,但您的问题的答案是:添加ORDER BY ID到您的查询中:

"SELECT * FROM Table WHERE ACTIVE != 0 ORDER BY ID"
于 2013-05-15T14:20:37.297 回答
0

ORDER BY直接在mysql中使用呢?

$result = mysql_query("SELECT * FROM Table WHERE ACTIVE != 0 ORDER BY ACTIVE ASC") or die (mysql_error());

然后我希望您记住这些mysql_*功能已被弃用,因此我建议您切换到mysqliPDO

于 2013-05-15T14:20:10.757 回答
0

使用 mysql_fetch_assoc 并使用 $values['nameOfValue'] 访问您的值

于 2013-05-15T14:06:14.357 回答
0

你需要使用

while ($values = mysql_fetch_assoc($result))
{
echo $values['NAME']." ".$values['DESCRIPTION'];
}
于 2013-05-15T14:04:37.567 回答