如何在网格中排列SQL打印的查询

时间:2015-12-24 15:26:23

标签: php html sql grid html-table

我在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>");
     }

3 个答案:

答案 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>';