5

単一の行をフェッチする次のコードがあります。

$query = "SELECT *
          FROM translations
          WHERE iddoc = '$id'
          AND submitted = 1;";
$result = mysqli_query($query);
$row = mysqli_fetch_array($result);

これは、結果をループできる while ループで便利です。

しかし、この条件を満たす特定の行を取得できる必要があります。この擬似コードに続く何か:

$query = "SELECT *
          FROM translations
          WHERE iddoc = '$id'
          AND submitted = 1;";
$result = mysqli_query($query);
$arrayofrows = mysqli_fetch_arrayofrows($result);
$arrayofrows[0] //(to get the first row)
$arrayofrows[1] //(2nd row)

等々...

これどうやってするの?

4

3 に答える 3

7

あなたはこのようなことを試すことができます

$arrayofrows = array();
while($row = mysqli_fetch_array($result))
{
   $arrayofrows = $row;
}

あなたは今持つことができます

$arrayofrows[0] //(to get the first row)
$arrayofrows[1] //(2nd row)
于 2012-08-25T23:15:43.310 に答える
3

あなたが探している関数は、以下に示すようにmysqli_fetch_allだと思います。これにより、追加のループ構造や既に提供されている機能を実行する関数を作成する必要がなくなります。

$query = "SELECT *
          FROM translations
          WHERE iddoc = '$id'
          AND submitted = 1;";
$result = mysqli_query($query);
$arrayofrows = mysqli_fetch_all($result);
$arrayofrows[0] //(to get the first row)
$arrayofrows[1] //(2nd row)
于 2014-02-20T23:24:06.647 に答える
2

結果セット全体を元に戻す必要があるかどうかによって異なりますが、LIMITは次のように使用できると思います。

$query = "SELECT *
          FROM translations
          WHERE iddoc = '$id'
          AND submitted = 1 LIMIT 200,200;";

そうでなければ、他の人が言うように、配列に変換して(これが何をするのかfetch_all)、その配列から要素を取得する必要があります。

于 2012-08-25T23:15:07.583 に答える