Галерея сайту. Урок 8. БД

20

Від автора: у цьому уроці ми повернемо нашій галереї функціонал, що дозволяє отримувати зображення без перезавантаження сторінки.

Галерея сайту. Урок 8. БДГалерея сайту. Урок 8. БД

Для початку давайте раскомментируем підключення скрипта, який відповідає за відправку асинхронного запиту. Після цього пересування по пагинации вже буде відбуватися без перезавантаження сторінок, але на кожній новій сторінці замість картинок ми будемо отримувати поки що помилки.

Далі нам потрібно у файлі pagination_ajax.php замість колишнього отримання картинок функцією get_images(), використовувати нову функцію — get_images_db(). Також нам буде потрібно підключення до БД. Для цього просто скопіювати шапку індексного файлу і замінимо нею весь код файлу pagination_ajax.php до формування висновку:

require_once ‘config.php’;
include ‘functions.php’;
if($gallery < 1) $gallery = 1;
require_once ‘pagination.php’;
$dir = ‘img/1/small/’;
$bdir = ‘img/1/big/’;
$images = get_images_db($gallery $start_pos, $perpage);

Наступним кроком нам потрібно передавати номер галереї асинхронно, точно так само, як і номер сторінки. Для цього визначимо перед підключенням скрипта змінну gallery, яку і будемо використовувати в самому скрипті. Додамо змінну перед підключенням файлу script.js:

var gallery = ;

І передамо змінну в запиті, додавши її до змінної page:

data: {page: page, gallery: gallery},

Залишилось змінити формування висновку у файлі pagination_ajax.php. Замінимо його на наступний:

// формування + висновок
if($images): $output = null;
foreach($images as $image):
$output .= ‘

‘;
$output .= ‘
‘;
$output .= «;
$output .= ‘Галерея сайту. Урок 8. БД‘;
$output .= ‘‘ .$image[‘description’]. ‘‘;
$output .= «;
$output .= ‘

‘;
$output .= ‘

‘;
endforeach;
endif;

Ось, власне, і все. Тепер пагинация галереї працює без перезавантаження сторінки.

На цьому ми завершимо поточний урок. Удачі і до нових зустрічей!