Як динамічно отримувати коментарі з бази даних.
Відео: Урок 3. Створення БД і таблиць і виведення інформації. Практичний курс PHP і MySQL
Всім привіт! У минулій статті ми розглянули, як динамічно додавати коментарі в базу даних, в цій статті ми розглянемо, як динамічно отримувати коментарі з бази даних.
суть ідеї
Для початку варто розібратися, як це взагалі буде працювати.
Отже, у нас є таблиця з коментарями, точно така ж, як і в минулій статті. Ми відразу при завантаженні сторінки викликаємо функцію, яка відправляє ajax запит на сервер і змінну count, рівну нулю. На сервері ми отримуємо цю змінну, підключаємося до бази даних і отримуємо звідти всі записи, у яких id більше нашої змінної (тобто. нуля). Потім ми перетворюємо отриманий масив з коментарями в json і відправляємо назад в jаvascript, де вже і виводимо їх в потрібному нам вигляді. Мінлива count стає рівною максимальному id, тобто останньої отриманої записи. Наприклад, у нас 3 коментарі в базі даних, отже змінна count отримає значення 3. Далі ми знову викликаємо нашу функцію через якийсь проміжок часу і робимо те ж саме, тільки тепер наша змінна count вже буде рівною 3. І так далі ...
Реалізація
Думаю, суть ідеї ви вловили, а тепер приступимо до реалізації. База даних та ж. В папці libs створимо файл get_comments.php з таким кодом:
Відео: як створити базу даних MySQL за допомогою PHPMyAdmin
lt ;?php
header("Content-Type: text / html- charset = UTF-8") -
$ count = $ _POST[`Count`] -
$ mysqli =newMysqli(`Localhost`,`Root`,``,`Comments`) -
$ mysqli-gt;query("SET NAMES utf8") -
$ r = array() -
$ result = $ mysqli-gt;query("SELECT * FROM comm WHERE id gt; $ Count ") -
while($ row = $ result-gt;fetch_assoc()){
$ r[]= $ row-
}
if(empty($ r)){
echo "Empty"-
}else{
echo json_encode($ r) -
}
?gt;Давайте розберемося, що тут відбувається. Спочатку ми встановлюємо правильний метод кодування, далі отримуємо змінну count, підключаємося до бази даних і встановлюємо правильний метод кодування з нею. Створюємо порожній масив, отримуємо дані з бази даних, де id записи більше змінної count, запихає все записи в наш порожній масив, робимо перевірку, порожній масив чи ні, якщо так, то відправляємо клієнту рядок empty, інакше ж перетворюємо масив з даними в json і відправляємо його клієнту.
Відео: FullCalendar. Отримання даних з бази даних
На сервері все просто. Тепер перейдемо до клієнтської частини, до файлу index.html.
У ньому ми підключимо файл стилів (main.css), В якому пропишемо наступне:
Відео: База даних на jаvascript. Милиця # 4
.comments {
border:1px solid green-
width:300px-
text-align: center-
border-radius:5px-
margin:0auto10px-
}
.comments span {
font-family:Tahoma-
}Особливою краси тут наводити не будемо, не про те стаття, але трохи красивіше зробити потрібно. Тепер найцікавіше - jаvascript.
onload="getComments() -"gt;
Не лякайтеся, тут все просто. В body, використовуючи атрибут onload ми відразу викликаємо нашу функцію. У неї передається параметр count, який за замовчуванням дорівнює 0. Далі ми використовуємо об`єкт XMLHttpRequest, щоб з`єднатися з сервером та вказуємо вірну кодування. відправляємо змінну count на сервер. Якщо все пройшло успішно, то отримуємо відповідь, перевіряємо, чи не рівний відповідь рядку empty(Що означає, що нових коментарів немає), якщо немає, то Парс наш json, отримуємо масив з об`єктами, проганяє цей масив в циклі і для кожного коментаря створюємо html структуру. В кінці ми встановлюємо змінну count рівній останньому id записи. В кінці функції ми встановлюємо таймер, який буде викликати нашу функцію кожні 3 секунди і передаємо йому нового значення змінної count.
Ось так все просто. Це не саме оптимізоване рішення, однак, воно дуже наочне і просте.
Отже, всім дякую за увагу і удачі!
Як працювати з api вконтакте
Відеоурок - вибірка даних з бази даних
Як дізнатися кількість записів в sql-вибірці
Як вибрати неповторювані значення з бази даних.
Як зробити динамічне додавання коментарів, використовуючи ajax.
Як використовувати інтерфейс countable в php.
Як зробити коментування на html-сайті
Система лайків на php і ajax
Перевірка зайнятості логіна на ajax
jаvascript змінні
Запит sql на створення і видалення бази даних
Імпорт бази даних в phpmyadmin
Випадкова вибірка з бази даних
Знайомство з phpmyadmin
Відправка ajax-запиту на інший домен
Управління базами даних в phpmyadmin
Масиви в jаvascript
Навігація по сторінках на php
Відправлення запитів до бази даних в php
Створення змінних в php
Пошук по файлах на php
Як зробити коментування на html-сайті
Як використовувати інтерфейс countable в php.
Імпорт бази даних в phpmyadmin
Структура бази даних
Управління базами даних в phpmyadmin
Як дізнатися кількість записів в sql-вибірці
Відправлення запитів до бази даних в php
Як зробити динамічне додавання коментарів, використовуючи ajax.
Випадкова вибірка з бази даних
Пошук по файлах на php