0

映画を含むウェブサイトを作成しようとしています。すべて問題ありませんが、小さな問題が 1 つだけあります。クエリを使用したページング用であり、WAMP (ローカル) で正常に動作します。しかし、ページング コードを Web サーバーにアップロードすると、NOT EXIST と表示されます。else の部分が表示されますが、何が問題なのですか?

<?php

$per_page = 35; 
 $page = 1;
 if (isset($_GET['page'])) 
 {
  $page = intval($_GET['page']); 
  if($page < 1) $page = 1;
}

 $start_from = ($page - 1) * $per_page; 

$con= mysql_connect("localhost","sarya_asad","Thisisfor123");
 mysql_select_db('saryaal_com_movies',$con);

 $current_items = mysql_query( "SELECT * FROM `english` LIMIT $start_from, $per_page");
 if( mysql_num_rows($current_items) > 0)
 {
  while($item = mysql_fetch_assoc($current_items))
  {

  ?>
    <tr>
        <td> <strong><a href="english/english-preview.php?id=<?php echo$item['id']?>" ><?php echo $item['title'] ;?></a>    </strong></td>
        <td> <strong> <?php echo $item['year'] ;?>  </strong></td>
        <td> <strong> <?php echo $item['quality'] ;?>   </strong> </td>
    </tr>
    <tr><td>
    <?php
    }
 }
 else
 {
  echo 'this page does not exists'; 
 }

 $total_rows = mysql_query("SELECT COUNT(*) FROM `english`");
 $total_rows = mysql_fetch_row($total_rows);
 $total_rows = $total_rows[0];

 $total_pages = $total_rows / $per_page;
 $total_pages = ceil($total_pages); # 19/5 = 3.8 ~=~ 4

 for($i = 1; $i  <= $total_pages; ++$i)
 {
  echo "<a href='temp2.php?page=$i' class='pagNumActive'>$i</a> &nbsp;&nbsp;";
 }
 ?>
4

5 に答える 5

0

ページネーションのためにこのロジックを試してください:

あなたの目標は、各ページに表示したい画像の数で相殺することです。

たとえば、1ページに6つの映画のサムネイルを表示したいとします...次のようになります。

$videos_per_page = 6
$pageNumber = (isset($_GET['page']) ? ($_GET['page']) : 1);

そして、あなたのオフセットは次のようになります:

$offset = $videos_per_page * $pageNumber 

(6ビデオ*ページ0 ...したがって、0ビデオをオフセットします。ページ0のデータ構造の最初の6ビデオを表示するので、これは良いことです)。


これでオフセット値が得られました...配列ポインタを正しい場所に設定する必要があります...ムービーを保存しているデータベース行をループし、オフセット値だけポインタを移動します...それを$videos_to_offsetに保存します。 ..

while ($videos_per_page < $offset && ($row = $Query_Result->fetch_assoc())) {
    $videos_to_offset++;
}

これで、データベースの行をループして、オフセット配列ポインターが中断したところからビデオを出力できます。

    $video_counter = 0;
    while ($video_counter < $videos_per_page && ($row = $Query_Result->fetch_assoc())) {

        echo   $row['videopath'];
        $video_counter++;
}

そんな感じ。

于 2013-01-16T22:23:15.467 に答える
0

これはあなたの問題です:

$con= mysql_connect("localhost","sarya_asad","Thisisfor123");
    mysql_select_db('saryaal_com_movies',$con);

ホストの詳細を変更する必要があります。localhostマシン上のローカル サーバーです。

于 2013-01-16T21:51:29.880 に答える
0

これを変える

 $start_from = ($page - 1) * $per_page;

 $start_from = ($page) * $per_page;
于 2013-01-16T21:48:33.257 に答える
0

次のようなものを使用したい場合があります。

$per_page = 35;
$start_from = $page * $per_page - $per_page;
于 2013-01-16T21:49:58.717 に答える