使用 php 交替显示 html 表格中的多列

发布于 2024-12-20 16:37:08 字数 916 浏览 0 评论 0原文

我如何输出像这样的备用多列

<table border="1">
    <tr> 
        <td> userid 1 </td>
    </tr>

    <tr> 
        <td> userid 2</td> <td>userid 3 </td>
    </tr>   
    <tr> 
        <td> userid 4 </td>
    </tr>
    <tr> 
        <td> userid5 </td> <td>userid6 </td>
    </tr>
    <tr> 
        <td> userid7 </td> 
        <td>userid8 </td>
        <td> userid9 </td> 
        <td>userid10</td>
    </tr>

</table>
<br>
<table border=1> 

我的表查询是这样的:

$result = mysql_query("SELECT id,name FROM  `tbl-record`") or die(mysql_error());

实际操作的经典示例如下:

http://www.cashcashpinoy.com

一个包含五行的表,每行 ( TR ) 上有一个备用 1x2x1x2x4 列 (TD )

How can I output an alternate multiple column like this

<table border="1">
    <tr> 
        <td> userid 1 </td>
    </tr>

    <tr> 
        <td> userid 2</td> <td>userid 3 </td>
    </tr>   
    <tr> 
        <td> userid 4 </td>
    </tr>
    <tr> 
        <td> userid5 </td> <td>userid6 </td>
    </tr>
    <tr> 
        <td> userid7 </td> 
        <td>userid8 </td>
        <td> userid9 </td> 
        <td>userid10</td>
    </tr>

</table>
<br>
<table border=1> 

My table query is like this:

$result = mysql_query("SELECT id,name FROM  `tbl-record`") or die(mysql_error());

Classic example in action is like this:

http://www.cashcashpinoy.com

A table with five rows and an alternate 1x2x1x2x4 columns (TD ) on each rows ( TR )

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

百思不得你姐 2024-12-27 16:37:08

由于这是在表格中,因此您可以在 td 元素上使用 colspan 属性,如下所示:

<table>
  <tr>
    <td colspan="4">Full width data.</td>
  </tr>

  <tr>
    <td colspan="2">Half width data.</td>
    <td colspan="2">Half width data.</td>
  </tr>

  <tr>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
  </tr>
</table>

您可以对任意数量的列执行此操作。

如果您想要动态分配多个列,您将需要一定数量的结果以提供一定的一致性,您可以在查询中使用 LIMIT 来实现这一点。

$results; // This is all of the results of your query
$colOps = array(1,2,4); // Different colspan values
$numCols = 4; // Maximum columns to allow per line

echo '<table border="1">';
while(count($results) > 0) {
  $ind = mt_rand(0, 2); // Generate a random index number
  if(count($results) >= $colOps[$ind]) {
    echo '<tr>';
    for($i = 0; $i < $cols; $i++)
      echo '<td colspan="'.$colOps[$ind].'">'.array_shift($results).'</td>';
    echo '</tr>';
  }
}
echo '</table>';

请注意,这未经测试,可能需要一些修改才能正常工作。

Since this is in a table, you can use the colspan attribute on the td elements, like this:

<table>
  <tr>
    <td colspan="4">Full width data.</td>
  </tr>

  <tr>
    <td colspan="2">Half width data.</td>
    <td colspan="2">Half width data.</td>
  </tr>

  <tr>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
    <td colspan="1">Quarter width data.</td>
  </tr>
</table>

You can do this with any number of columns.

If you want to assign a number of columns dynamically, you'll want to have a set number of results to provide some consistency, which you could do using a LIMIT along with your query.

$results; // This is all of the results of your query
$colOps = array(1,2,4); // Different colspan values
$numCols = 4; // Maximum columns to allow per line

echo '<table border="1">';
while(count($results) > 0) {
  $ind = mt_rand(0, 2); // Generate a random index number
  if(count($results) >= $colOps[$ind]) {
    echo '<tr>';
    for($i = 0; $i < $cols; $i++)
      echo '<td colspan="'.$colOps[$ind].'">'.array_shift($results).'</td>';
    echo '</tr>';
  }
}
echo '</table>';

Note that this is untested and may need some modification to work properly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文