2

我有一张桌子,我想回显表格的最后两行,我使用了下面的代码,但只显示了最后一个,有什么问题。

$result1 =(mysql_fetch_array(mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 2")));

Print $result1['time'];
4

6 回答 6

2

mysql_fetch_array= 1 次获取。

再做一次以获取第二个结果。

另外,用mysqli 嗯。

于 2013-07-25T12:18:37.160 回答
1

mysql_fetch_array只做一次,所以它得到了第一个元素。如果要获取所有元素,请再做一次,或使用循环。

就像是:

$query = "SELECT * FROM $table ORDER BY id DESC LIMIT 2";

while($row = mysql_fetch_array(mysql_query($query) )
{
    echo $row['time'].'<br>'; 
}
于 2013-07-25T12:19:18.480 回答
0

对于 2 行或更多行,您需要循环它

$sql = mysql_query("SELECT * FROM $table ORDER BY id DESC LIMIT 2")

while($row=mysql_fetch_array($sql))
{
    echo $row['time']."<br>";
}
于 2013-07-25T12:21:24.197 回答
0
$query = mysqli_query("SELECT * FROM $table ORDER BY id DESC LIMIT 2");
while ($result = mysqli_fetch_array($query)) {
    echo $result['time'];
}

给出数据库的每一次返回(在本例中为 2)。您应该使用 mysqli_-functions。

于 2013-07-25T12:22:05.870 回答
0

我的解决方案:

$limit = 2;

$sql = "SELECT * FROM $table ORDER BY id DESC LIMIT $limit";
$result = mysql_query($sql);

$array = array(); $i = 0;
while($row = mysqli_fetch_array($result))
{
    $array[$i] = $row;
    $i++;
}

var_dump($array[0]);
var_dump($array[1]);
于 2013-07-25T12:18:30.180 回答
0

也许你应该这样尝试,因为 mysql_fetch_array 只返回一行

while ($row = mysql_fetch_array($yourQuery)) {
    echo $row["yourAlias"];
}

更多细节在这里: http: //fr2.php.net/manual/en/function.mysql-fetch-array.php

于 2013-07-25T12:24:09.007 回答