2011-12-27 14 views
1

mysqlデータベースに一定量の行を出力する小さなスクリプトがあります。データベースの2行ごとに改行を挿入します。

の後に、の行が印刷されるたびに改行が挿入されるようにする方法はありますか?

行ごとに改行を追加するのは簡単ですが、他の行ごとに改行を追加する方法はわかりません。それは可能ですか?

+0

これまでのところあなたのコードを表示できましたか? – jadarnel27

+0

余分な行が空白の行を挿入していなければ、ロジックはあなたのrownumを2で割ります。私はPHPエキスパートではないので構文については考えていませんが、これはあなたに一般的な考えを与えるかもしれません。 – xQbert

答えて

3

は、ループの前に

$i = 0; 

を新しい変数を追加し、あなたのループ内で

を追加
if ($i != 0 && $i%2 == 0) 
    echo '<br/>'; 
+0

です。ありがとう。 – Proffesor

4

あなたは「スクリプト」を書き込むが、タグにあなたがPHPを持っているので、私はあなたがPHPコードが必要とします

foreach ($rows as $row) { 
    if ($i++ % 2) { 
     // this code will only run for every even row 
    } 
    ... 
} 
+1

PHP *は* a *スクリプト言語*です。技術的には、すべてのPHPの「コード」は「スクリプト」=) – jadarnel27

0

phpとモジュロを使用します。言語によっては、このような

if($i % 3) 
    { 
    echo '<br />'.. 
4
$i=1; 
while ($row = mysql_fetch_array($query)) 
{ 
    //your code 
    if ($i % 2 == 0) 
     echo '<br>'; 
    $i++; 
} 
+0

本当にうまくいった、ありがとう。 – Proffesor

1

として

、このようなものは、それを実行する必要があります(PHPで)($のARRは、結果の配列です)

$str = ''; 
$i = 0; 

for ($i=0; $i<count($arr); $i++) 
{ 
    if (($i + 1) % 2 === 0) 
    { 
     $str .= $arr[$i] . '<br />'; 
    } 
    else 
    { 
     $str .= $arr[$i]; 
    } 
} 

echo $str; 
0

の場合何らかの理由でクエリ内でこれを行う必要があります。

SELECT 
    <your fields>, 
    IF (((@rn:[email protected]+1) % 3)=0,'<br>','') as brornot 
FROM 
    <your tables and joins>, 
    (@rn:=0) 
関連する問題