0

私の主な目標は、写真のサムネイルでページネーションを作成することです。独自のページネーションを作成することに成功しました。しかし、問題は、私は ajax の使い方を知っていますが、よりユーザーフレンドリーになるように ajax を適用する方法を知らないだけです。誰かが私を助けてくれますか、私はこの問題に対する答えを見つけるのに苦労しています. 以下は私のコードです。

<?php
  require 'php/connect.inc.php';
  $per_page = 3;

  $pages_query = mysql_query("SELECT COUNT('id') FROM my_list");
  $pages = ceil(mysql_result($pages_query, 0) / $per_page);

  $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
  $start = ($page - 1) * $per_page;


  $query = mysql_query("SELECT id, image_small FROM my_list LIMIT $start, $per_page");
  while($mysql_fetch_assoc = mysql_fetch_assoc($query)){
    echo "<img src=".'img/uploads/'.$mysql_fetch_assoc['image_small'].">";
  }

  if ($pages >= 1 && $page <= $pages){
    for ($x=1; $x <= $pages; $x++){
      echo ($x == $page) ? '<strong><a href="?page='.$x.'">'.$x.'</a></strong> ' : '<a href="?page='.$x.'">'.$x.'</a>';
    }
  }
?>
4

1 に答える 1

0

アプリケーション json をビルドするときは、適切な応答を返すスクリプトと、要求を行うクライアントの 2 つが必要です。

これは、返すスクリプトの例ですjson

<?php
  require 'php/connect.inc.php';
  $per_page = 3;

  $pages_query = mysql_query("SELECT COUNT('id') FROM my_list");
  $pages = ceil(mysql_result($pages_query, 0) / $per_page);

  $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
  $start = ($page - 1) * $per_page;


  $query = mysql_query("SELECT id, image_small FROM my_list LIMIT $start, $per_page");

  $results = array();
  while($mysql_fetch_assoc = mysql_fetch_assoc($query)){    
    $results[] = $mysql_fetch_assoc['image_small'];
  }      

  header('Content-type: application/json');

  echo json_encode(array(
    'thumbs' => $results,
    'pages' => $pages,
    'current_page' => $page,
    'per_page' => $per_page
  ));

?>

これは、リクエストを作成するための単純なクライアント スクリプト ( jQueryを使用した JavaScript) です。

$.ajax({
  url: "yourscript.php?page=1"
}).done(function(data) {
  $.each(data.thumbs, function(thumb) {
    // to something
  });
});

mysql_query最後に、あなたと彼の仲間を使用しないことをお勧めします。読むphp.net/mysql_query非推奨です

于 2013-04-13T05:40:53.920 に答える