Хотя петля нумерация страниц внутри петли foreach - PullRequest
0 голосов
/ 09 мая 2018

Я показываю результаты точного соответствия из базы данных с помощью API похожих фильмов TMDB.

$imdbid = $mysqli->real_escape_string($_GET['movie']);

$similarapiurl = "https://api.themoviedb.org/3/movie/{$imdbid}/similar?api_key=cfe422613b250f702980a3bbf9e90716";

$similarmovies = json_decode(file_get_contents($similarapiurl), true);

$i=0;

foreach ($similarmovies['results'] AS $similarmovie) { 

    $movietitle = $similarmovie['original_title'];
    $movieyear = substr($similarmovie['release_date'], 0, 4);

    $sql = "SELECT * FROM Movies WHERE EngTitle COLLATE utf8_general_ci='".$movietitle."' AND Year LIKE '%".$movieyear."%'";
    $movieresult = $mysqli->query($sql);
    if ($i==10) break;
    if ($movieresult->num_rows > 0) {
        while($row = $movieresult->fetch_assoc()) {
        $i++;
    ?>
    <div class="movie-card" data-id="<?php echo $row['ImdbID']; ?>">
      <div class="item-card">
        <div class="rating">
          IMDB <span class="score"><?php echo $row['ImdbRating']; ?></span>
        </div>
        <div class="overlay ov-show">
          <div class="description">
            <?php echo mb_strimwidth($row['Description'], 0, 80, "..."); ?>
          </div>
          <div class="info">
            <i class="fa fa-info-circle"></i> დაწვრილებით
          </div>
          <div class="actions">
            <a href="/similar/<?php echo $row['ImdbID']; ?>" class="like">
              <i class="fa fa-heart"></i> მაჩვენე მსგავსი
            </a>
          </div>
        </div>
        <img src="<?php echo $row['PosterURL']; ?>" alt="<?php echo $row['EngTitle']; ?>">
      </div>
      <div class="subtitle">
        <h6><?php echo $row['GeoTitle']; ?></h6>
        <span class="meta"><?php echo $row['EngTitle']; ?> / <?php echo $row['Year']; ?></span>
      </div>
    </div>
    <?php
        } $movieresult->free();
    }
    }
    }

Как видно из кода, я запускаю цикл foreach для массива и внутри этого цикла while для получения результатов из базы данных.Я прерываю цикл foreach на 10-м прогоне, чтобы он отображал только первые 10 результатов.

Теперь я хочу разбить на страницы.Я хочу запустить цикл, получить все $movietitle и отобразить первые 10, остальные будут отображаться, но будут скрыты, а после нажатия кнопки или ссылки будет отображаться.Так что это будет выглядеть как нумерация страниц, но будет мгновенным, как содержимое с вкладками.

Я пробовал array_slice(), но это не было правильно разрезать массив.Как я могу это сделать и должен ли я найти решение в JavaScript или в PHP?

...