На моей странице «популярные теги», я загрузка всех тегов из базы данных с помощью PHP & SQL, чтобы из самых популярных в наименее популярный:Как создать макет таблицы HTML с строками из запроса MySQL?
$sql = "SELECT t.tagid, t.name, t.desc, COUNT(qt.id) AS total
FROM tags t
LEFT JOIN question_tags qt ON t.tagid=qt.tag_id
GROUP BY t.tagid, t.name
ORDER BY total DESC";
$result = mysql_query($sql) or die(mysql_error());
while($row=mysql_fetch_assoc($result)) {
echo '<div class="tag-list-box" id="tag-'.$row['tagid'].'">
<a href="/tags/'.strtolower($row['name']).'" class="tag">
<span class="label label-inverse label-tag">'.strtolower($row['name']).'</span>
</a> <strong>× '.$row['total'].'</strong><br />
<p>'.($row['desc']!==null ? $row['desc'] : '<em>This tag has no description.</em>').'</p>
</div>';
}
У меня нет его в HTML сейчас, потому что я думал, что могу сделать это более «современным способом» с div и CSS, но, как вы можете видеть на этом скриншоте ниже, строки перепутаны, когда у тега есть описание, потому что высота окна больше, чем другие:
Мой CSS для боксов:
.tag-list-box {
width: 20%;
padding: 5px;
background-color: #f0f0f0;
border: 1px solid #ccc;
float: left;
margin-right: 2%;
margin-bottom: 10px;
}
Я имею в виду, я должен поместить его в таблицу, которая должна исправить эту проблему, но мой вопрос как я делаю каждые 4 строки из запроса имеют свои собственные <tr>
поэтому в каждой строке таблицы может быть 4?
Я не могу понять это — я попытался сделать подсчет и увеличивающимся его в петле while
, но тогда я просто не знаю, куда идти оттуда.
Похоже, кто-то пытается создать мини-SO, нет? – nickb