Я бы рекомендовал использовать неупорядоченный список - <ul>
и применить атрибут CSS float
к его элементам списка (<li>
). Таким образом, вам не придется беспокоиться о подсчете количества записей.
Просто выведите каждую запись в <li>
и установите их все на float: left;
.
Затем ограничьте высоту <ul>
, чтобы она была достаточно короткой, чтобы дополнительные <li>
s переместились в новый столбец.
Как указывал @Steve, вам также нужно установить постоянную ширину <li>
, чтобы столбцы были согласованными. И сделайте ширину вашего <ul>
более чем в два раза и менее чем в три раза больше ширины <li>
.
Основной способ сделать это - позвонить по вашему запросу mysql_num_rows()
. Умножьте результат на высоту каждого <li>
, затем разделите на два, и это будет высота вашего <ul>
. Это сделает каждый столбец равной высоты.
Вы могли бы также сделать это с <div>
с (по одному <div>
для каждого элемента, все в одной глобальной <div>
).
Но использование списка является предпочтительным способом отображения списка информации в HTML (если только информация не является табличной по природе и требует нескольких столбцов на поле, а у вас нет и нет).
Если вам нужна более подробная помощь, на эту тему есть замечательная статья по веб-стандартам Opera 10 *
.