2016-09-21 4 views
1

したがって、Latteエンジンを使用すると、テーブル内のすべてのデータ行をループできないようです。私は最初のものだけを得ることができ、私はアイデアがなくなった!PHP - foreachはテーブル全体をループしません

$query = $this->db->query("SELECT id,title FROM table"); 

    $array = array(); 
    while($fetch = $query->fetch_assoc()) { 
     $array = $fetch; 
    } 

    $Template["listing"] = $array; 

テンプレート:

{foreach $listing as $item} 
    {$item["title"]}} 
{/foreach} 

答えて

3

(あなたが他の場所で$array変数を必要としない場合)最も単純ソリューションです:

$query = $this->db->query("SELECT id,title FROM table"); 

while($fetch = $query->fetch_assoc()) { 
    $Template["listing"][] = $fetch; 
} 
+0

ありがとうございます!興味深い解決策:)魅力のように働いた。可能であれば、正しいとマークします。 –

3

代わりの$array = $fetch$array[] = $fetchを実行し、より多くを追加するためにアイテム。

あなたがやっていることは、すべてのループで配列を上書きすることです。

+0

あなたのご意見ありがとうございますが、私はそれを試してみましたが、それは私のためには機能しません。 –

+0

なぜ機能しないのですか?これを行うと同じ結果が得られますか? – Phiter

+1

これは実際にOPが間違っていることを実際に説明しているので、受け入れられた答えよりも優れています。 – Andy

0
$query = $this->db->query("SELECT id,title FROM table"); 

$array = array(); 
while($fetch = $query->fetch_assoc()) { 
    $array[] = $fetch; 
} 

$Template["listing"] = $array; 
+0

このコードは質問に答えるかもしれませんが、なぜこのコードが質問に答えるか、および/またはどのようにして追加の文脈を提供するかによって、長期的な価値が向上します。コードのみの回答はお勧めできません。 – Ajean

0
$query = $this->db->query("SELECT id,title FROM table"); 

$array = array(); 
while($fetch = $query->fetch_assoc()) { 
    $array[] = $fetch; 
} 
$Template = $array; 
関連する問題