2011-02-03 6 views
4

これは私の部分のコードです:それは最後の結果をそれぞれの結果の後にブレークタグを追加しますが、ないように最終結果ではなく、各結果の後に<br/>を追加するにはどうすればよいですか?

while($row = $db->fetch_array($query)) 
{ 
    echo $row['row_name']; 
} 

は、どのように私はそれを行うことができますか?

+0

ほとんどの言語では、これを行うための文字列に「結合」操作があります。 –

答えて

2
for ($idx = 0; $row = $db->fetch_array($query); $idx++) 
{ 
    if ($idx > 0) { echo "<br/>"; } 
    echo $row['row_name']; 
} 
16

implodeを持つ配列への参加、その後、配列に出力を入れて:

$rows = array(); 
while($row = $db->fetch_array($query)) 
{ 
    $rows[] = $row['row_name']; 
} 
echo implode('<br/>', $rows); 
+0

+1私が持っているものを掲示... :) – alex

+0

これはあなたが追加しているひどいオーバーヘッドです。特に多くの行がある場合は、 – dynamic

6

あなたがこれを行うことができます。配列もカウンターもありません。

if($row = $db->fetch_array($query)) 
{ 
    do { 
     echo $row['row_name'] 
    } while($row = $db->fetch_array($query) && print("<br />")); 
} 
+0

これは素晴らしいトリックです。そんなに読みにくい場合でも – dynamic

+0

ありがとうございます。あなたは、Wordpressのソースと主要なjavascriptフレームワークの中で、たくさんの同様の気の利いたトリックを見つけるでしょう。 – xzyfer

+0

さらにPHPトリックに興味があります(このソリューションはfetch_array()への二重冗長呼び出しを必要としているとは思っていません) – dynamic

関連する問題