我在SQL中有一个People表,我在我的网站上打印它的列(每列是一个人的名字)。
我希望这些名称排列在网格中,如表格,但具有无限的垂直高度(这将取决于表格中有多少名称),但有限的水平宽度,最多4个名称。使用下面的代码,所有内容都打印在一个包含1列和多行的简单表中。
我怎么能这样做?感谢。
<?php
$new = mysql_query("SHOW COLUMNS FROM People");
while($row = mysql_fetch_array($new)){
print( " <tr> <td height='40px'><p class='scrollviewed'> <b> " . $row['Field'] . "</b></p></td></tr>");
}
答案 0 :(得分:2)
这是未经测试的,但这个想法应该是合理的。基本上你想要每4个项目有一个新的TR
,无限期......
尝试类似以下的内容:
$cnt = 0;
$cols = 4;
$output = "<table><tr>";
while($row = mysql_fetch_array($new)){
$output .= "<td height='40px'>{$row['Field']}</td>";
$cnt++;
if($cnt % $cols == 0)
{ $output .= "</tr><tr>"; }
}
$output .= "</tr></table>";
echo $output;
答案 1 :(得分:0)
首先,开始使用PDO。它好多了,不推荐使用mysql。
您可以像这样进行查询:
$new = $db->query("SHOW COLUMNS FROM People");
创建表头。然后你可以使用这样的东西:
<?php
while($row = $new->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td height='40px'><p class='scrollviewed'><?= $row['FIELD'] ?></p></td>
放完所有td之后,用
结束<?php } ?>
</tr>
依此类推......
答案 2 :(得分:0)
//也许你可以使用bootstrap中的'col-md-3'
echo '<div class="row">';
while($row = mysql_fetch_array($new)){
echo '<div class="col-md-3">'. $row['name'] .'</div>';
}
echo '</div>';