使用 PHP 从 MySql 数据库中提取内容并显示在 3 列中

Pulling content from MySql Database with PHP and display in 3 columns

我正在从 MySQL 数据库中提取内容,我想在 3 列中显示这些内容。我已经设法实现了它,但并不是所有的内容都被提取了。即使我将其更改为 4 列,它也会显示更多内容,但仍然不是全部。

必须有一种方法来检查它有多少内容并正确显示它。任何帮助将不胜感激。

这是我目前所拥有的: (我应该显示数据库中的 52 个项目,但只显示了 38 个左右)

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>

<body>
    <div id="wrapper">
        <div id="page">
            <div id="content">
                <div id="report_content">
                    <div id="top_bar">
                            <h1 class="report_title"></h1>

                            <h2 class="report_subtitle"></h2>

                        <div id="criteria"></div>
                    </div>
                    <div>
                        <div>
                            <div id="t1" class="results resultList">
                                <?php if ($row_detail_vendors) { $temp_name='' ; ?>
                                <table>
                                    <?php $cols=4 ; do { ?>
                                    <tr>
                                        <?php for($i=1;$i<=$cols;$i++){ // All the rows will have $cols columns even if // the records are less than $cols $row_detail_vendors=m ysql_fetch_assoc($detail_vendors) ?>
                                        <td>    <a href="partner_info.php?idu=<?php echo $row_detail_vendors['shortcut']; ?>">
                            <?php echo ucfirst(strtoupper($row_detail_vendors['hotel_name'])); ?></a>

                                            <br>    <span><?php echo $row_detail_vendors['city']; ?>, <?php echo ucfirst($row_detail_vendors['country']); ?></span>

                                            <br/>
                                            <br/>
                                            </a>
                                        </td>
                                        <?php } ?>
                                    </tr>
                            </div>
                            <!--marketing-->
                            <?php } while ($row_detail_vendors=m ysql_fetch_assoc($detail_vendors)); ?>
                            <?php }?>
                        </div>
                    </div>
                </div>
                <!--marketing partners-->
            </div>
            <!--content-->
        </div>
        <!--page-->
</body>

建议:

<div id="t1" class="results resultList">
  <table>
  <?php
    $cols=4;
    $i = 1;
    while($row_detail_vendors=mysql_fetch_assoc($detail_vendors)) {
        if($i % $cols == 1){
          echo "<tr>";  // start column wrapper
        } ?>
         <td><a href="partner_info.php?idu=<?php echo $row_detail_vendors['shortcut']);?>"><?php echo strtoupper($row_detail_vendors['hotel_name'])); ?></a>
          <br /><span><?php echo $row_detail_vendors['city']; ?>, <?php echo ucfirst($row_detail_vendors['country']); ?></span>
          <br/>
          <br/>
        </td>
      <?php
      if( $i % $cols == 0){
        echo "</tr>"; // End column wrapper
      }
      $i++;
    } ?>
  </table>
</div>
<!--marketing-->