9

かなり基本的なはずですが、動作させることができません。mysqli クエリを反復する次のコードがあります。

while($row = mysqli_fetch_array($result)) {
    $posts[] = $row['post_id'].$row['post_title'].$row['content'];
}

動作して戻ります:

変数 #1: (配列、3 つの要素) ↵ 0 (文字列): "4testtest" (9 文字) 1 (文字列): "1Hello world!WordPress へようこそ。これが最初の投稿です。編集または削除してから、ブログを始めてください。 !」(99 文字) 2 (文字列): "2 サンプル ページこれはサンプル ページです。1 つの場所にとどまり、サイト ナビゲーション (ほとんどのテーマ) に表示されるため、ブログ投稿とは異なります。" (161文字)

問題は、3 つの列すべてが 1 つの列にまとめられるため、それらに個別にアクセスできないことです。

これは例えば:

0(文字列):「4testtest」(9文字)

4、テスト、テストに分ける必要があります

私がこれを行うとき:

while($row = mysqli_fetch_array($result)) {             
    $posts['post_id'] = $row['post_id'];
    $posts['post_title'] = $row['post_title'];
    $posts['type'] = $row['type'];
    $posts['author'] = $row['author'];  
}   

3 行すべてではなく、1 行のみを出力します …</p>

どんな助けでも大歓迎です!

4

6 に答える 6

29

MySQL からすべての値を取得します。

    $post = array();
    while($row = mysql_fetch_assoc($result))
    {
        $posts[] = $row;
    }

次に、各値を取得するには:

<?php 
     foreach ($posts as $row) 
        { 
            foreach ($row as $element)
            {
                echo $element."<br>";
            }
        }
?>

値をエコーし​​ます。または $post 変数から各要素を取得します

于 2013-01-22T10:41:28.210 に答える
7

これがあなたの解決策でした。

$x = 0;
while($row = mysqli_fetch_array($result)) {             
    $posts[$x]['post_id'] = $row['post_id'];
    $posts[$x]['post_title'] = $row['post_title'];
    $posts[$x]['type'] = $row['type'];
    $posts[$x]['author'] = $row['author'];
    $x++;
}
于 2016-02-26T12:29:39.080 に答える
5

これは、結果を出力するより簡単な方法だと思います。

自分のデータを使用して申し訳ありませんが、簡単に置き換えることができます。

$query = "SELECT * FROM category ";

$result = mysqli_query($connection, $query);


    while($row = mysqli_fetch_assoc($result))
    {
        $cat_id = $row['cat_id'];
        $cat_title = $row['cat_title'];

        echo $cat_id . " " . $cat_title  ."<br>";
    }

これは次のように出力されます:

  • - ID タイトル
  • -1 ゲイリー
  • -2 ジョン
  • -3 マイケルズ
于 2016-02-01T10:35:13.260 に答える
-2

これを試して :

   $i = 0;    
    while($row = mysqli_fetch_array($result)) {  

            $posts['post_id'] = $row[$i]['post_id'];
            $posts['post_title'] = $row[$i]['post_title'];
            $posts['type'] = $row[$i]['type'];
            $posts['author'] = $row[$i]['author'];  

        }   
    $i++;
    }

print_r($posts);
于 2013-01-22T10:41:47.410 に答える
-3

これを試して...

while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
于 2015-10-28T22:50:05.037 に答える