2011-12-27 63 views
1

我有一個腳本可以在mysql數據庫中打印一定數量的行。在數據庫的每兩行後面插入換行符

有什麼辦法可以讓它在每打印一行後都會插入換行符?

在每行之後添加換行符很簡單,但我不知道如何在每隔一行之後添加換行符。那可能嗎?

+0

也許你可以顯示你的代碼到目前爲止? – jadarnel27 2011-12-27 14:54:12

+0

如果沒有餘數插入空行,邏輯會說你的rownum除以2。我不是一個PHP專家,所以不知道語法,但這可能會給你一個大致的想法。 – xQbert 2011-12-27 14:55:13

回答

3

循環

$i = 0; 

前加入新的變量,然後在循環中添加

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

這很好。謝謝。 – Proffesor 2011-12-27 15:01:19

4

你寫「腳本」,但在標籤你有PHP的,所以我想你需要的PHP代碼:

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

PHP *是* a *腳本*語言。從技術上講,所有的PHP「代碼」是「腳本」=) – jadarnel27 2011-12-27 15:01:11

0

使用php和modulo。

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 2011-12-27 15:06:32

1

根據不同的語言,這樣的事情應該這樣做:(在PHP)(其中$改編爲結果的數組)

$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)