2

私はテーブルを持っていて、テーブルの最後の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 フェッチ。

2番目の結果を取得するためにもう一度行います。

また、mysqli eh を使用します。

于 2013-07-25T12:18:37.160 に答える
1

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 は 1 行しか返さないため、このように試してみてください。

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 に答える