2013-04-13 3 views
0

Моя основная цель - создать Pagination с миниатюрами фотографий. Мне удалось создать собственную разбивку на страницы. Но проблема в том, что я знаю, как использовать ajax, я просто не знаю, как применять ajax к нему, чтобы он был более удобным для пользователя. Может кто-то помочь мне, я изо всех сил пытался найти ответ на эту проблему. Ниже мой код.PHP/Ajax pagination thumbnails

<?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>'; 
    } 
    } 
?> 

ответ

0

При создании приложения json вам нужны две вещи: сначала сценарий, который возвращает соответствующий ответ, а другой - клиент, делающий запросы.

Это пример скрипта, который возвращает 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 
)); 

?> 

здесь является простым скриптом клиента (JavaScript с помощью jQuery) для запроса макияжа

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

наконец рекомендую вам не использовать mysql_query и его коллеги. прочитать php.net/mysql_query является осуждается

+0

Это дает мне ошибку «Не удается использовать [] для чтения в C: \ XAMPP \ HTDOCS \ серии \ index.php в строке 22» – kuwame

+0

мою ошибку, @kuwame увидеть изменения в линии ''thumbs' => $ results,' – rkmax

+0

Теперь он дает мне еще одну ошибку: «Ошибка анализа: синтаксическая ошибка, неожиданная» = ', ожидающая') 'в C: \ xampp \ htdocs \ series \ index.php в строке 23 " – kuwame