如何在html表中显示数据库中的记录

时间:2014-08-07 05:53:29

标签: php html

我从数据库中选择记录并将其显示为

<table>
    <tr>
        <td align="center" >Name</td>
        <td align="center" >Contact</td>    
    </tr>
    <?php  
    foreach($rowset as $row) 
    {
    ?>
    <tr>
        <td align="left"><?php echo $row['name'];?></td>
        <td align="left"><?php echo $row['contact'];?></td>
    </tr>
    <?php   
    }
    ?>
</table>

显示为

|  Name  |  Contact  |
   a        9956874525
   b        9856426569
   c        9865989657
   d        8956789565
   e        8956879899
   f        8985656465

此处每条记录都显示在单独的<tr>

但是现在我以这样的方式显示记录,即两个记录显示在一个<tr>

所以我的设计应该是

|  Name  |  Contact  |    |  Name  |  Contact  |
   a        9956874525       b        9856426569
   c        9865989657       d        8956789565
   e        8956879899       f        8985656465

我应该在上面的代码中做些什么改变?请帮忙

6 个答案:

答案 0 :(得分:1)

您需要创建一个计数器来计算您打印数据的次数。

也许是这样(尚未测试):

<?php
     $i = 0;
     foreach($rowset as $row) 
     {   
       if($i % 2 == 0)  echo "<tr>";  
?>  
          <td align="left"><?php echo $row['name'];?></td>
          <td align="left"><?php echo $row['contact'];?></td>
<?php
       if($i % 2 == 0) echo "</tr>"; $i++;     
     }
?>

答案 1 :(得分:1)

像这样修改代码

<table>
    <tr>
        <td align="center" >Name</td>
        <td align="center" >Contact</td>    
    </tr>
    <?php
    $i=1;
    foreach($rowset as $row) 
    {
      if($i%2==1) {
    ?>

    <tr>

   <?php } ?>
        <td align="left"><?php echo $row['name'];?></td>
        <td align="left"><?php echo $row['contact'];?></td>
    <?php  if($i%2==0) { ?>
    </tr>
     <?php } ?>
    <?php   

   $i++; }
    ?>

答案 2 :(得分:1)

您可以根据索引有条件地应用循环。

<table>
    <tr>
        <td align="center">Name</td>
        <td align="center">Contact</td>
        <td align="center">Name</td>
        <td align="center">Contact</td>
    </tr>
    <tr>
    <?php  
    foreach($rowset as $i=>$row) {
        if($i!=0 && $i%2 == 0) {
    ?>
        </tr><tr>
    <?php } ?>
        <td align="left"><?php echo $row['name'];?></td>
        <td align="left"><?php echo $row['contact'];?></td>

    <?php } ?>
    </tr>
</table>

答案 3 :(得分:0)

尝试使用for循环

$num_contacts = sizeof($rowset);
for($i = 0; $i < $num_contacts; $i++)
{
   if($i%2 == 0)
      echo "<tr>";
   ?>
 <td align="left"><?php echo $row['name'];?></td>
 <td align="left"><?php echo $row['contact'];?></td>
 <?php
    if($i%2 == 0)
      echo "</tr>";
 }?>

答案 4 :(得分:0)

Its the appropriate way..

<table>
    <tr><td></td><td></td><td></td><td></td><td></td></tr>
    <tr>
    <?php  
    foreach($rowset as $i=>$row) {
        if($i!=0 && $i%2 == 0) {
    ?>
        </tr><tr>
    <?php } ?>
        <td align="left"><?php echo $row['name'];?></td>
        <td align="left"><?php echo $row['contact'];?></td>

    <?php } ?>
    </tr>
</table>

答案 5 :(得分:0)

  1. 首先使用以下方法连接数据库: $ con = mysql_connect(主机,用户名,密码);

  2. 选择数据库: mysql_select_db(dbname,$ con);

  3. 写一个查询: $ qselect = mysql_query(&#34; select * from mytable&#34;);

  4. 现在让我们开始在HTML表格中显示:

    <table>
    
    <tr>
    <th>Name</th>
    <th>Address</th>
    </tr>
    
    <?php
    
     while($result = mysql_fetch_array($qselect))
     {
       extract($result);
    ?>
    
    <tr>
      <td><?= $name?></td>
    
      <td><?= $addr?></td>
    </tr>
    
    <?php
     }
    ?>
    </table>
    
  5. 注意:$ name和$ addr是mysql表中的字段名。

相关问题