将结果行划分为<tr>元素时,缺少要显示的第4个Mysql行,每行3个项目(每表3个,每列1个)

这是我得到的一个例子:

Data #1 - Data #2 - Data #3
Data *#5* - Data #6 - Data #7


我从这里尝试过一些主题,但是我做不到任何好事:(

我的代码是:

<table class="table" cellpadding="5px" cellspacing="5px">
    <?php
    $query_sql = mysql_query("SELECT * FROM table WHERE id='$id'");
    $counter = 0;
    while($row_row = mysql_fetch_assoc($query_sql)) {
        if ($counter++ % 3 == 0) {
           if ($counter > 0) {
               $output .= '</tr>';
           }
           $output .= '<tr>';
       }
       echo '<div class="col-md-4" style="border: #000 solid 1px;">
                  <div class="row" style="background-color: '.$row_c_border.';">
                    <div class="col-md-12">
                        <h4 class="text-white"><i class="icon-beaker" title="'.$row_course_degree['1'].'"></i>&nbsp;&nbsp;'.$row_row['place'].'&nbsp;'.$row_certified.'</h4>
                   </div>
                 </div>
                 <div class="row" style="background-color: #F5F5F5;">
                    <h6>&nbsp;&nbsp;&nbsp;<i class="icon-chevron-sign-right text-success" title="Began"></i>&nbsp;2009-01-11&nbsp;&nbsp;&nbsp;<i class="icon-flag text-info" title="Ended"></i>&nbsp;2015-01-11</h6>
                 </div>
                <div class="row">
                    <div class="col-md-2">
                         <div style="height: 7px;"></div>
                         <img width="60px" height="62.5px" style="border: #F5F5F5 solid 1px;" src="'.$row_row['logo'].'" title="Establishment">
                    </div>
                    <div class="col-md-6" style="border-left: #F5F5F5 solid 1px">
                                &nbsp;
                    </div>
                 </div>
                 <div class="row" style="background-color: #F8F8FF;">
                    <div class="col-md-12">
                        <h6><i class="icon-info-sign"></i>&nbsp;&nbsp;'.$row_row['description'].'</h6>
                   </div>
                 </div>
                </div>';
    }
    if ($counter > 0) {
        $output .= '</tr>';
    }

    ?>

</table>

最佳答案

突出几个问题。

首先

if ($counter++ % 3 == 0) {
       if ($counter > 0) {


当$ count在上一行增加时,第二个测试将始终为true。

其次,
您不会为表单元格输出<td>标记。

这些问题之一将产生无效的html,这可能是显示问题的原因。

关于php - 分割<tr>时缺少第4个Mysql行(每表3行,每列1行),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21118995/

10-13 23:21