2011-12-27 2 views
1

У меня есть небольшой скрипт, который печатает определенное количество строк в базе данных mysql.Вставить разрыв строки после каждых двух строк базы данных

Есть ли способ сделать это так, чтобы после каждого секунд строка печатается, есть ли разрыв строки?

Добавление разрыва строки после каждой строки прост, но я не знаю, как добавить один после каждой другой строки. Это возможно?

+0

Возможно, вы могли бы показать свой код до сих пор? – jadarnel27

+0

Логика сказала бы, что разделите свою розу на 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 «script» =) – jadarnel27

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

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) 
Смежные вопросы