Як динамічно отримувати коментарі з бази даних.

Як динамічно отримувати коментарі з бази даних.

Відео: Урок 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.

Ось так все просто. Це не саме оптимізоване рішення, однак, воно дуже наочне і просте.

Отже, всім дякую за увагу і удачі!

Поділися в соціальних мережах:

Схожі
Як зробити коментування на html-сайтіЯк зробити коментування на html-сайті
Як використовувати інтерфейс countable в php.Як використовувати інтерфейс countable в php.
Імпорт бази даних в phpmyadminІмпорт бази даних в phpmyadmin
Структура бази данихСтруктура бази даних
Управління базами даних в phpmyadminУправління базами даних в phpmyadmin
Як дізнатися кількість записів в sql-вибірціЯк дізнатися кількість записів в sql-вибірці
Відправлення запитів до бази даних в phpВідправлення запитів до бази даних в php
Як зробити динамічне додавання коментарів, використовуючи ajax.Як зробити динамічне додавання коментарів, використовуючи ajax.
Випадкова вибірка з бази данихВипадкова вибірка з бази даних
Пошук по файлах на phpПошук по файлах на php
» » Як динамічно отримувати коментарі з бази даних.