php从数据库查询到数据输出到表格 如何实现自动换行呢?
PHPz
PHPz 2017-04-11 09:10:40
[PHP讨论组]

php从数据库中查询数据

$a=('实例1','实例2','实例3','实例4','实例5','实例6'。。。。)

如此 现在想把他输出到一个表格(每5格换一行),该怎么输出呢?
目前想的是用if判断

$i='1';
if($i%5==0){

<tr><td>xxx<td></tr>

}else{

<td>xxx</td>
}

这样是有问题的 换行后循环一次就又换行了。。

请问正确的语句该怎么写

PHPz
PHPz

学习是最好的投资!

全部回复(2)
PHPz

其实这个最好让前端定义好对应的CSSp结构就可以。你如果非用php来处理也可以,我试着写了一下很low,没做具体调试你试试看,或者你自己在改改。参考如下

$tmp = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17];
$count = count($tmp);
$k = 0; $str='';
for ($i=0; $i < $count; $i++) {
  if($k<5){
    $str .= $tmp[$i];
    $k++;
  } else {
    $str .= '<br/>';
    $k=0;
  }
}
echo $str;
黄舟

如果你只是为了显示,其实用CSS+p来模拟一个表格更加合适:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<style type="text/css">
.container{
    width:100%;
}

.cell{
    width:20%;
    display: inline-block;
}
</style>
<p class="container">
<?php
$arr = array(1,2,3,4,5,6,7,8,9,10,11,12);
for ($i=0; $i < count($arr); $i++) { 
    echo '<p class="cell">' . $arr[$i] . '</p>';
}
?>
</p>
</body>
</html>

如果一定要用table来表示,则你要判断最后一行:

<?php
$arr = array(1,2,3,4,5,6,7,8,9,10,11,12);
$arr_count = count($arr);
$loop_count = 5 * ceil($arr_count / 5);
echo '<table border="1">';
for ($i = 0; $i < $loop_count; $i++) { 
    if($i % 5 == 0){
        echo '<tr>';
    }
    if($i < $arr_count){
        echo '<td>' . $arr[$i] . '</td>';
    }
    else{
        echo '<td></td>';
    }
    if($i % 5 == 4){
        echo '</tr>';
    }
}
echo '</table>';
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号