首页 > 解决方案 > Web 服务器上的 PHP while 循环行为不同

问题描述

我在一个电影评级网站上工作,我把代码放在我的网络服务器上。该代码在我的本地 Web 服务器上运行良好,但在我的在线托管上运行良好。

问题是在两台服务器上执行不同的 while 循环。我的数据库中有电影的信息(例如标题、图像、ELO),我循环浏览它们mysqli_fetch_assoc()并在我的排行榜页面上按排名显示它们。

while ($rowselectmovies = mysqli_fetch_assoc($resultselectmovies)) {
    $movie = $repository->load($rowselectmovies['id']);

    foreach ($movie->getImages()->filter(
        function ($key, $value) {
            if ($value->getIso6391() == 'en' && $value instanceof \Tmdb\Model\Image\PosterImage) {
                return true;
            }
        }
    ) as $image) {
        $imagehtml = $imageHelper->getHtml($image, 'w154', 100);
        break;
    }

    if ($i > 3) {
        $margin = "uk-margin-small";
    } else {
        $margin = "uk-margin-small-bottom";
    }

    echo "<div class='uk-card uk-card-secondary uk-card-body uk-padding-small movie-container " . $margin . " uk-width-1-3'><h2 class='uk-display-inline-block uk-padding-small'>" . $i . "</h2> " . $rowselectmovies['name'] . "<div class='uk-float-right'>" . $imagehtml . "</div></div>";

    if (($i) % 3 == 0) {
        echo '<hr>';
    }

    $i++;
}

在本地服务器上,这段代码显示了数据库中的所有 50 部电影,但在在线托管上,它只显示 6 或 7 部,而且随着我对电影的评分,数字似乎会发生变化。我不完全确定问题是什么,但任何帮助将不胜感激。

标签: phpthemoviedb-api

解决方案


推荐阅读