Goodnight. There was a question with markup. Data is output from some database table, I need the output data to be displayed in the form of 2 columns. Something like this:

Колонка 1 Колонка 2 сслыка ссылка ссылка ссылка ..... ..... 

Output from db

 while($url=$sql->fetch($sql->query("SELECT `url`,`name` FROM `category` WHERE `id_cat` = $cat "))) { /* здесь и возник вопрос как сделать 2 колонки. причем если 2 ссылки то они в строку, если 3, то 2 в строку, 3я переносится под 1ю и т.д */ ??? } 
  • while ($ url = $ sql-> fetch ($ sql-> query ("SELECT url , name FROM category WHERE id_cat = $ cat")) // 'while true' detected - Sh4dow

1 answer 1

 echo '<table>'; $n = 0; $q = $sql->query("SELECT `url`,`name` FROM `category` WHERE `id_cat` = $cat "); while($url=$sql->fetch($q)) { if (!($n % 2)) echo '<tr>'; echo '<td>'.$url->someData.'</td>'; if ($n % 2) echo '</tr>'; $n++; } if ($n % 2) echo '<td></td></tr>'; echo '</table>'; 
  • it's only + - Palmervan
  • Thank! Everything works :) - Alexander Maslov
  • Yaby still operated on a flag ... echo '<table>'; $ f = false; $ q = $ sql-> query ("SELECT url , name FROM category WHERE id_cat = $ cat"); while ($ url = $ sql-> fetch ($ q)) {echo (! $ f? '<tr>': ''). '<td>'. $ url-> someData. '</ td>' . ($ f? '</ tr>': ''); $ f =! $ f; } if ($ f) echo '<td> </ td> </ tr>'; echo '</ table>'; - timka_s