2016-05-14 32 views
-2

私はmysqlデータベーステーブルからデータを取ります。テーブルはID"POST"カラムを持っています。私は注文しました投稿によってidの下から私は常に最初の場所に最新の投稿を持っています。しかし、私がしたいときエコー特定の投稿(例えば、id 5)私は$col = mysqli_fetch_array($result); echo $col;とそれをエコーすることはできません。私はforeachループで試しましたが、エコーのすべての記事です。だから私はの配列のforeachループを入れてもいいと思った。foreachループの配列

$sql = "SELECT * FROM `post` ORDER BY `id` DESC"; 
$result = mysqli_query($con, $sql); 
$col = mysqli_fetch_array($result); 

foreach($col as $cols) { 

} 

私は多くのことを試してみましたが、研究に多くの時間を費やしたが、まだそれを行うにはどのようなアイデアを持っていませんしました。

ご協力いただきありがとうございます。

+0

'$ col as $ cols'の代わりに' $ col'を書いて、 '$ col ='を '$ cols ='に改名する必要があります。 –

答えて

0
$sql = "SELECT * FROM `post` ORDER BY `id` DESC"; 
$result = mysqli_query($con, $sql); 
$col = mysqli_fetch_array($result); 

foreach($col as $cols) { 
    if($col['id'] == 5) { 
     print_r($col); 
    } 
} 
+0

だから私はこれを試しました: 'while($ col = mysqli_fetch_assoc($ result)) { $ cols [] = $ col; } foreach($ cols as $ col) { if($ col ['id'] == 2){ print_r($ col); } } 'それから私はこれを得る:**配列([ID] => 2 [投稿] =>さようなら)**。そして私は次に何をすべきか分かりません。 – user6332126

+0

私はそれを理解しました。アイデアをありがとう! :D – user6332126

0

更新日:あなたが特定のポストを取得したい場合は

は、あなたがこのような何かにあなたのSQLを変更する必要があります。

$sql = "SELECT * FROM `post` WHERE `id` = $wanted_post_id"; 
+0

だから、 'echo $ col ['post'];'と書く必要がありますが、echoはすべて** post **の列のデータです。問題は、各** div **にその列から特定の行だけが必要なことです。 – user6332126

+0

申し訳ありません@ジェラルドシュナイダー、私は質問を逸した。 – dlopez

+0

ああ、私はそれらをすべて1つの場所に必要としてから、特定の行に特定の行を配置することを忘れていました。 – user6332126

0

mysqli_fetch_arrayが連想結果の行をfetchs、数値配列、またはその両方を返します。 印刷する列の名前を指定する必要があります。 あなたは、結果セットに複数の行を持っている可能性があるので、あなたはそうのようなループ(while)を使用してください:

while ($row = mysqli_fetch_array($result)) { echo $row['POST']; // 'POST' here is the name of the column you want to print out }

は、この情報がお役に立てば幸い!

+0

さて、私は列をエコーする方法を知っていますが、私は列 "ポスト"で1行をエコーし​​なければなりません – user6332126

関連する問題