【问题标题】:Loop a limited amount of html with a mysql array使用 mysql 数组循环有限数量的 html
【发布时间】:2015-07-11 17:22:33
【问题描述】:

我无法使用 html 循环 mysql 数据以获取有限的行数。我需要在 html 中回显初始 div 以显示不需要循环的初始 html 容器。之后,我想循环返回的前 4 行及其 html 块。我想出了一个空白页。它没有显示带有 mysql 数据的 4 行。

    function functionName(){

        $DBvar = new mysqli($Serv,$use,$pass,$db);

        /* Checking Connection */
        if($DBvar->connect_errno) {
            printf("Connection Failed:  %s \n",$DBvar->connect_error);
            exit();
        }

        if($response = $DBvar->query("SELECT * FROM Table1 ORDER BY 'ColunmName' DESC LIMIT 0,4")) {

            echo "<div class=\"row\">
                    <div class=\"span12\">
                        <div class=\"recent-posts\"><br>";

            while($obj = $response->fetch_object()) {
                $id = $obj['id'];
                $clmn1= $obj['clmn1'];
                $clmn2= $obj['clmn2'];
                $clmn3= $obj['clmn3'];

                printf("<div class=\"span3 border-hover\" id=\"id%s\">
                            <article>
                            <h5><a rel=\"nofollow\"><strong>%s</strong></a></h5>
                            %s
                            </article>
                            <p>%s</p>
                        </div>", $id, $clmn1, $clmn2, $clmn3);
            }

            echo "
                </div>
                </div>
                </div>";
        }

        $response->close();
    }

【问题讨论】:

  • 您的查询可能是错误的,可能是因为您的 ' 围绕着您的 ORDER BY 列
  • 这将阻止它正确排序行,但不会导致空白页。
  • 添加else die($DBvar-&gt;error) 以查看查询失败时的错误。
  • 将 error_reporting(E_ALL) 添加到脚本的开头,并检查 PHP 错误日志中的消息。

标签: php mysql loops foreach while-loop


【解决方案1】:

我最终找到了以这种方式编写代码的解决方案。所以我不需要 while 语句之后的额外变量。但我知道有更好的方法来重写它,这样我就可以继续从数据库中提取数据并动态生成另一行,后面还有 4 个项目。现在我不得不加倍编码 2 或 3 行。它应该比这更有效。这是一个很好的短期解决方案,但不是长期的,甚至不是可扩展的。感谢大家的帮助!

function FunctionName(){

        $DBConnect = new mysqli(SERVER,USER,PASSWORD,DATABASE);

        /* Checking Connection */
        if($DBConnect->connect_errno) {
            printf("Connection Failed:  %s \n",$DBConnect->connect_error);
            exit();
        }

        if($result = $DBConnect->query("SELECT * FROM TableName LIMIT 0,4")) {
                //Then I echoed the initial html to create the column row since I only need 1 row per 4 items to display.
                echo "<div class=\"row\">
                        <div class=\"span12\">
                            <div class=\"recent-posts\"><br>
                                <div class=\"row\">
                                    <div class=\"\">
                                        <ul class=\"slides\">
                                            <li>";

                                                while($obj = $result->fetch_object()) {
                                                            printf("<div class=\"span3 border-hover\" id=\"$var%s\">
                                                                        <article>
                                                                        <h5><a rel=\"nofollow\"><strong>%s</strong></a></h5>
                                                                        %s
                                                                        </article>
                                                                        <p>%s</p>
                                                                    </div>", $obj->$var, $obj->$var1, $obj->$var2, $obj->$var3);
                                        }
                echo "                      </li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>";
            }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 2012-12-21
    • 2021-02-13
    • 1970-01-01
    • 2019-10-16
    相关资源
    最近更新 更多