使用PHP的表中每行的不同列数

时间:2012-11-10 02:36:38

标签: php mysql dynamic tabular

我想用PHP创建一个包含不同数量cols的表,并使用mysql中的数据。

为了实现这一点,我认为一个简单的方法是首先打印一个包含行的表,然后在行中创建一个包含随机列数的新表。我知道这不是一个推荐的事情,但我需要这样做。

当我这样做时,所有细胞都得到了相同的值。

任何人都可以帮帮我吗?

示例:

enter image description here

3 个答案:

答案 0 :(得分:0)

我不认为你想要的是桌子。这可以使用div完成,并将子div左移:

HTML:

<div class="row">
  <div class="cell">
   ....
  </div>
  <div class="cell">
   ....
  </div>
  <div class="cell">
   ....
  </div>
  <div class="clear"></div>
</div>

<div class="row">
  <div class="cell">
   ....
  </div>
  <div class="cell">
   ....
  </div>
  <div class="cell">
   ....
  </div>
  <div class="cell">
   ....
  </div>
  <div class="cell">
   ....
  </div>
  as much divs ...
  <div class="clear"></div>
</div>

的CSS:

.clear {
   clear:both;
}
.cell {
   width:100px;
   float:left;
}

答案 1 :(得分:0)

使用一个行表并将它们放在一个带div的框中,可能是另一种方法。像这样:

<?php
// Array example
 $row = array('data1'  => '1',
              'data2'  => '2',
              'data3'  => '3',
              'data4'  => '4',
              'data5'  => '5',
              'data6'  => '6',
              'data7'  => '7',
              'data8'  => '8',
              'data9'  => '9',
              'data10' => '10');
?>

<style type="text/css">
  /*<![CDATA[*/
 .TablesBox {
  border: solid 2px #000000;
  width: auto;
  height: auto;
 }

 .Tables tr, .Tables td {
  width: auto;
  font-family: Verdana, sans-serif;
  margin: 1px;
 }

 .Tables td {
  border: solid 1px #000000;
  margin: 0;
 }

  /*]]>*/
</style>

<div class="TablesBox">
 <!--5 columns row-->
 <table class="Tables">
  <tr>
   <td><?php echo $row['data1']; ?></td>
   <td><?php echo $row['data2']; ?></td>
   <td><?php echo $row['data3']; ?></td>
   <td><?php echo $row['data4']; ?></td>
   <td><?php echo $row['data5']; ?></td>
  </tr>
 </table>
 <!--2 columns row-->
 <table class="Tables">
  <tr>
   <td><?php echo $row['data6']; ?></td>
   <td><?php echo $row['data7']; ?></td>
  </tr>
 </table>
 <!--3 columns row-->
 <table class="Tables">
  <tr>
   <td><?php echo $row['data8']; ?></td>
   <td><?php echo $row['data9']; ?></td>
   <td><?php echo $row['data10']; ?></td>
  </tr>
 </table>
 ...
</div>

答案 2 :(得分:0)

请尝试下面给出的代码

<?php
  $rows = array();
  $rows[0][0] = 'A';
  $rows[0][1] = 'B';
  $rows[0][2] = 'C';
  $rows[1][0] = 'D';
  $rows[1][1] = 'f';
  $rows[2][0] = 'f';
  $rows[2][1] = 'k';
  $rows[2][2] = 'f';
  $rows[2][3] = 'j';
  $rows[3][0] = 'j';
  $total_rows = count($rows);

   echo "<table border='2'>";

    for($i = 0;$i < $total_rows; $i++){
    echo "<tr>";
      foreach($rows[$i] AS $col){
        echo "<td>";
            echo $col;
       echo "</td>";
      }
    echo  "</tr>";
   }
echo "</table>";

此处first index of array is showing row number and second index showing column number of table

感谢