php - 使用 mysql 数组循环有限数量的 html

标签 php mysql loops foreach while-loop

我在使用 html 为有限行数循环 mysql 数据时遇到问题。我需要回显 html 中的初始 div 以显示不需要循环的初始 html 容器。之后,我想循环返回的前 4 行及其 html block 。我想出一个空白页。它没有显示带有 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();
    }

最佳答案

我最终找到了以这种方式编写代码的解决方案。所以我不需要 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>";
            }

关于php - 使用 mysql 数组循环有限数量的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29994303/

相关文章:

php - 在 while 中用 If 语句排序

php - Laravel - DOMDocument::loadXML(): 开始和结束标签不匹配 - PhpWord 错误

Javascript Tic Tac Toe Win Checker 很湿

javascript - 如何在循环中使用 jQuery 和带参数的 JSON 生成动态 HTML?

php - 调用未定义函数 'init_set'

php - 在 UBUNTU 16.04 上安装 PHP 7.1 APCu 扩展

MySQL 计算一行中的 2 列并与另一个查询连接

mysql - 即使数据存在,Rails 4.0 也会重定向到 404

mysql - 每当我更新表时,我想将旧数据(旧行)存储在新表中

c - 我正在使用 4 个 for 循环,2 个工作正常,其余 2 个显示问题 3,4 个循环显示无效答案