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


How to arrange SQL printed queries in a grid

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

这是未经测试的,但这个想法应该是合理的。基本上,你想每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;

首先,开始使用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>

等等…

//也许您可以从引导中使用'col-md-3'

echo '<div class="row">';
while($row = mysql_fetch_array($new)){           
    echo '<div class="col-md-3">'. $row['name'] .'</div>';     
}
echo '</div>';