Як динамічно отримувати коментарі з бази даних.
Відео: Урок 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