тк 3 июля праздник (в беларуси), буду не онлайн (по возможности буду отвечать)

Работа с базами данных через AJAX на PHP

Итак, вы уже умеете делать AJAX запросы, получая текст страницы по определенному URL. Кроме того, вы уже умеете отправлять формы.

Давайте теперь усложним код на нашем сервере. Если ранее мы просто совершали какие-то тестовые примитивные операции, то теперь давайте поработаем с базами данных.

Здесь предполагается, что вы уже хорошо умете работать с БД через PHP, поэтому никакой новой теории мы не будем обсуждать, а сразу начнем практиковаться на задачах.

Сделайте в базе данных таблицу employees с работниками. Пусть в вашей таблице будут следующие поля: имя, фамилия, возраст, зарплата. Добавьте в вашу таблицу через PhpMyAdmin несколько записей (штук 5).

Вывод всех

Пусть на клиенте есть кнопка. По нажатию на эту кнопку отправьте AJAX запрос на сервер. Скрипт на сервере пусть получит все данные из таблицы employees и выведет их в виде HTML таблицы. Пусть клиент после ответа сервера выведет полученную таблицу в каком-нибудь диве.

Вывод заданного работника

Сделайте еще одну кнопку. По нажатию на эту кнопку отправьте GET запрос с каким-нибудь числом, соответствующим id какого-либо работника в базе данных. Выведите данные этого работника в каком-нибудь диве.

Модифицируйте предыдущую задачу так, чтобы id работника задавалось в каком-нибудь инпуте.

Вывод по ссылке

При изначальной загрузке клиентской страницы (то есть без AJAX, а сразу по заходу на страницу средствами PHP) выведите на экран имена всех работников. Пусть эти имена будут ссылками.

В каждой ссылке через PHP сделайте атрибут data-id, в котором будет храниться id работника, соответствующего данной ссылке.

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

Подгрузка записей

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

Давайте обсудим, как такое реализовать.

Мы в нашем клиентском скрипте должны хранить, сколько записей уже загружено. По нажатию на кнопку мы должны передавать эту информацию на сервер.

Пусть, к примеру, сейчас у нас загружено 6 записей. Значит, мы должны передать серверу это число 6. Сервер должен выполнить SQL запрос с командой LIMIT и достать записи с 7-ой, 3 штуки.

Так как в SQL нумерация начинается с нуля, то в команде LIMIT мы будем просить записи, начиная с 6-той, вот так:

mysqli_query($link, 'SELECT * FROM employees LIMIT 6,3');

Реализуйте описанную подгрузку работников по нажатию на кнопку.

Модифицируйте предыдущую задачу так, чтобы над списком работников был инпут, с помощью которого можно было задать количество подгружаемых записей (то есть, чтобы не по 3 записи грузилось, а как-то по другому).

Подгрузка по прокрутке страницы

По загрузке клиентской страницы выведите имена работников в в виде списка ul. При этом обведите теги li границей и задайте им высоту в 200-300 пикселей так, чтобы появилась вертикальная полоса прокрутки.

Сделайте так, чтобы при прокрутке страницы до самого низа из базы подгружалось еще 3 записи, пока они не будут загружены все.