Datatables Example using PHP and MySQL

Содержание
  1. jQuery Datatables with PHP, MySQL and AJAX Example
  2. jQuery Datatables Server-side Processing with PHP and MySQL:
  3. Step 1) Create MySQL Database
  4. Step 2) Load the Required CSS and JS Libraries
  5. Step 3) Create HTML Table
  6. Step 4) AJAX Call
  7. Complete index.html File
  8. Datatables Server-Side Example
  9. Step 5) Fetch Records from Database and Return as JSON
  10. fetch_records.php
  11. PHP — AJAX и MySQL
  12. Пример работы с Ajax, PHP и MySQL
  13. Example
  14. Таблица примера работы с Ajax и MySQL
  15. Пример
  16. Пример
  17. Объяснение примера работы с Ajax и MySQL
  18. Пример
  19. Файл-обработчик для работы с Ajax и MySQL
  20. Пример
  21. PHP: Как получить и отобразить данные из базы данных в PHP с помощью Ajax
  22. Как получить и отобразить данные из базы данных с помощью Ajax без обновления страницы
  23. Шаг 1 — Создать базу данных и таблицу
  24. Шаг 2 — Подключение к базе данных MySQL
  25. Шаг 3 — Получить данные списка из базы данных
  26. Шаг 4 — Получение и отображение с использованием Ajax без перезагрузки страницы
  27. jQuery Datatables Ajax PHP and MySQL using PDO Example
  28. Step 1: Create Table with MySQL
  29. Step 2: PHP & MySQL Database Connection
  30. Step 3: Index with Datatables
  31. Step 4: Our Datatables PHP & MySQL Code with PDO
  32. Result:

jQuery Datatables with PHP, MySQL and AJAX Example

Hi! In this tutorial let’s look at the server-side processing of jquery datatables using php, mysql and ajax. In case you don’t know, Datatables is an amazing jquery plugin that converts the simple html table into a feature-rich data grid with additional functions like instant search, pagination, multi-column sorting etc. The table works with multiple data sources like DOM, AJAX etc., and supports both client and server side processing. We have already seen about datatables with json data and here we will see about server side processing.

Читайте также:  Интерлиньяж

For the server script, we are going to use PHP and MySQL as a data source.

jQuery Datatables Server-side Processing with PHP and MySQL:

Let’s see how to fetch records from the server-side using ajax request and list it in the data tables. To use in this example, we need a dummy database. So let’s create it first.

Step 1) Create MySQL Database

The following sql will create a mysql database, a table and some sample records in it. Run this script on phpmyadmin to create the database.

CREATE DATABASE `my_demo`; USE `my_demo`; CREATE TABLE `customers` ( `id` int(8) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `email` varchar(60) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ; INSERT INTO `customers` (`id`, `name`, `email`) VALUES (1, 'Jim Connor', 'jimconnor@yahoo.com'), (2, 'Mark Higgins', 'mark.higgins21@yahoo.com'), (3, 'Austin Joseph', 'austin.joseph.boston@gmail.com'), (4, 'Sean Kennedy', 'seankennedy01@gmail.com'), (5, 'Rose Harris', 'roseharris@gmail.com'), (6, 'Lilly Whites', 'lillywhites@outlook.com'), (7, 'Jennifer Winters', 'jennie.winters001@gmail.com'), (8, 'Michael Bruce', 'michaelbruce78@yahoo.com'), (9, 'John Alex', 'johnalex@example.com'), (10, 'Demi Milan', 'demimilan@gmail.com'), (11, 'Austin Joseph', 'austin.joseph.boston@gmail.com'), (12, 'Mark Higgins', 'mark.higgins21@yahoo.com'), (13, 'Sean Kennedy', 'seankennedy.boss@outlook.com');

Step 2) Load the Required CSS and JS Libraries

Next load the CSS and JS files of the datatables plug-in. And you must also include the ‘jquery.js’ before loading ‘jquery.datatables.js’ since it is dependent on jquery.

Please note that I have loaded the datatables files from the cdn but you can download and use it from your own server though.

Step 3) Create HTML Table

Then create html markup for the table. This will act as a placeholder for data table. Just add the appropriate column headers for the table.

Читайте также:  Фотогалерея на php mysql

Step 4) AJAX Call

Next, make ajax request to the php script to get the data from the server-side. You must also map the table columns with the fields in the database to populate the html table.

The method dataTable() will initialize the datatables and comes with various options. By setting different parameters we can control the way it behaves.

Complete index.html File

     

Datatables Server-Side Example

ID Name Email

Step 5) Fetch Records from Database and Return as JSON

Finally the server script. This will communicate with the backend mysql database, retrieve records, encode it to json along with other necessary values and send it back to the front-end.

fetch_records.php

 $dataset = array( "echo" => 1, "totalrecords" => count($array), "totaldisplayrecords" => count($array), "data" => $array ); echo json_encode($dataset); ?>

We have all the code in place. Now run the index.html and you can see data grid like this,

jquery datatables php mysql ajax

You can filter the records using the instant search box at the top this way,

jquery datatables server side processing php

That explains about displaying jquery datatables with database records using php and mysql. Although datatables works fairly well with client data sources such as json, JS Array etc., when you want to work with a huge data-set, going with server side processing is the best route. I hope this tutorial is useful for you. Please, share it in your social circle if you like it.

Источник

PHP — AJAX и MySQL

В этом уроке мы наглядно проиллюстрируем, насколько просто получить доступ к информации из базы данных с помощью AJAX, мы собираемся создавать запросы MySQL на лету и отображать результаты в виде таблицы HTML.

Пример работы с Ajax, PHP и MySQL

В следующем примере показано, как веб-страница может получать информацию из базы данных с помощью AJAX. Вы можете из выпадающего списка выбрать одного из клиентов и увидите, что, без перезагрузки страницы, необходимая информация будет отображаться ввиде таблицы HTML:

Example

Таблица примера работы с Ajax и MySQL

Пример

  // Попытка выполнить запрос на создание таблицы $sql = "CREATE TABLE ajax_demo ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30) NOT NULL, lastname VARCHAR(30) NOT NULL, age int(11) NOT NULL, hometown VARCHAR(30) NOT NULL, job VARCHAR(30) NOT NULL ) "; if(mysqli_query($link, $sql)) < echo "Таблица успешно создана."; >else < echo "ERROR: Не удалось выполнить $sql. " . mysqli_error($link); >// Закрыть соединение mysqli_close($link); ?>

Пример

 // Попытка выполнения запроса вставки $sql = "INSERT INTO ajax_demo (firstname, lastname, age, hometown, job) VALUES ('Ivan', 'Ivanov', 30, 'Moskow', 'designer'), ('Stepan', 'Stepanov', 32, 'Kiev', 'manager'), ('Maxim', 'Maxsimov', 33, 'London', 'boss'), ('Irina', 'Sidorova', 35, 'Varshava', 'programmer')"; if(mysqli_query($link, $sql)) < echo "Записи успешно вставлены."; >else < echo "ERROR: Не удалось выполнить $sql. " . mysqli_error($link); >// Закрыть соединение mysqli_close($link); ?>

таблица примера работы с Ajax и MySQL

В результате мы получим следующую таблицу, которую будем исползовать в этом уроке:

Объяснение примера работы с Ajax и MySQL

В приведенном в начале урока примере, когда пользователь выбирает человека в раскрывающемся списке, выполняется функция showUser() . Функция showUser() запускается событием onchange :

Пример

       

  • Создадим объект var xmlhttp = new XMLHttpRequest();
  • Создадим функцию xmlhttp.onreadystatechange, которая будет выполняться, когда будет готов ответ сервера if (this.readyState == 4 && this.status == 200)
  • Отправим запрос в php-файл getuser.php на сервере
  • Обратите внимание, что к URL-адресу добавлен параметр (q) (с содержимым раскрывающегося списка)

Файл-обработчик для работы с Ajax и MySQL

Страница на сервере, вызываемая выше приведенным JavaScript, представляет собой PHP-файл «getuser.php».

Исходный код в файле «getuser.php» выполняет запрос к базе данных MySQL и возвращает результат в таблице HTML:

Пример

    table < width: 100%; border-collapse: collapse; >table, td, th < border: 1px solid black; padding: 5px; >th  mysqli_select_db($con,"demo"); $sql="SELECT * FROM ajax_demo WHERE = mysqli_query($con,$sql); echo " "; while($row = mysqli_fetch_array($result)) < echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; > echo "
Firstname Lastname Age Hometown Job
" . $row['firstname'] . "" . $row['lastname'] . "" . $row['age'] . "" . $row['hometown'] . "" . $row['job'] . "
"; mysqli_close($con); ?>

Объяснение кода: Когда запрос отправляется из JavaScript в файл PHP, происходит следующее:

  1. PHP открывает соединение с сервером MySQL
  2. Выполняется поиск выбранного человека из списка
  3. Создается таблица HTML, заполняется данными и отправляется обратно в элемент-заполнитель «txtHint».

Источник

PHP: Как получить и отобразить данные из базы данных в PHP с помощью Ajax

В этом руководстве вы узнаете, как получать и отображать данные из базы данных в PHP с помощью jQuery ajax.

В этом посте мы создадим список клиентов и добавим кнопку просмотра в этот список клиентов. После этого у нас будут извлекаться данные из базы данных при нажатии кнопки просмотра в PHP и отображать данные на веб-странице без перезагрузки всей веб-страницы с помощью jQuery ajax.

Как получить и отобразить данные из базы данных с помощью Ajax без обновления страницы

Выполните следующие шаги для того, чтоб научиться получать и отображать данные из базы данных MySQL в PHP с помощью ajax без перезагрузки веб-страницы:

Шаг 1 — Создать базу данных и таблицу

Прежде всего, перейдите на панель phpmyadmin и создайте базу данных и таблицу, используя следующий запрос sql:

CREATE DATABASE my_db; CREATE TABLE `customers` ( `id` int(10) UNSIGNED NOT NULL, `fname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `lname` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `created_date` date DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Шаг 2 — Подключение к базе данных MySQL

На этом этапе вы создадите файл с именем mydbCon.php и обновите приведенный ниже код в свой файл.

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

Шаг 3 — Получить данные списка из базы данных

Отображение данных в таблице HTML.

Итак, создайте файл customers.php и добавьте в него следующий код:

        

Customers List

# First Last Email Action num_rows > 0) : ?> ">View No Data Found

Шаг 4 — Получение и отображение с использованием Ajax без перезагрузки страницы

На этом этапе извлеките данные из базы данных с помощью запроса ajax. Поэтому создайте файл ajax-fetch-record.php и отобразите данные из базы данных с помощью ajax без обновления или перезагрузки всей веб-страницы.

Итак, обновите следующий код в файле ajax-fetch-record.php:

Как получить данные из базы данных на php с помощью ajax и jquery, будет выглядеть как на следующем изображении:

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

Источник

jQuery Datatables Ajax PHP and MySQL using PDO Example

In this post, I will share an example of how to implement jquery Datatables ajax in PHP and MySQL using PDO. If you have hundreds of thousands of records or even millions of records you don’t want to load it at once to your HTML as we do in our previous example because it could slow your server performance. But using ajax you don’t need to load all the records to your Datatable because it is paginated and you only show what we need.

Step 1: Create Table with MySQL

We will use the employee’s table as an example with basic fields. See below table structure:

CREATE TABLE `employees` ( `id` int(10) NOT NULL, `email` varchar(100) NOT NULL, `first_name` varchar(100) NOT NULL, `last_name` varchar(100) NOT NULL, `address` varchar(250) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4; ALTER TABLE `employees` ADD PRIMARY KEY (`id`); ALTER TABLE `employees` MODIFY `id` int(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1; COMMIT;

Step 2: PHP & MySQL Database Connection

Once your database and table are configured let’s create a connection. See below:

 PDO::ERRMODE_EXCEPTION]); > catch (PDOException $e) < echo $e->getMessage(); > 

As you can see our connection is coded with PDO.

Step 3: Index with Datatables

Now let’s configure our HTML with Datatable and Ajax script. See below code:

          

jQuery Datatable Ajax PHP Example

Email Firstname Lastname Address

Step 4: Our Datatables PHP & MySQL Code with PDO

Next, our code for our Datatables Ajax PHP and MySQL code using PDO.

"%$searchValue%", 'first_name'=>"%$searchValue%", 'last_name'=>"%$searchValue%", 'address'=>"%$searchValue%" ); > // Total number of records without filtering $stmt = $conn->prepare("SELECT COUNT(*) AS allcount FROM employees "); $stmt->execute(); $records = $stmt->fetch(); $totalRecords = $records['allcount']; // Total number of records with filtering $stmt = $conn->prepare("SELECT COUNT(*) AS allcount FROM employees WHERE 1 ".$searchQuery); $stmt->execute($searchArray); $records = $stmt->fetch(); $totalRecordwithFilter = $records['allcount']; // Fetch records $stmt = $conn->prepare("SELECT * FROM employees WHERE 1 ".$searchQuery." ORDER BY ".$columnName." ".$columnSortOrder." LIMIT :limit,:offset"); // Bind values foreach ($searchArray as $key=>$search) < $stmt->bindValue(':'.$key, $search,PDO::PARAM_STR); > $stmt->bindValue(':limit', (int)$row, PDO::PARAM_INT); $stmt->bindValue(':offset', (int)$rowperpage, PDO::PARAM_INT); $stmt->execute(); $empRecords = $stmt->fetchAll(); $data = array(); foreach ($empRecords as $row) < $data[] = array( "email"=>$row['email'], "first_name"=>$row['first_name'], "last_name"=>$row['last_name'], "address"=>$row['address'] ); > // Response $response = array( "draw" => intval($draw), "iTotalRecords" => $totalRecords, "iTotalDisplayRecords" => $totalRecordwithFilter, "aaData" => $data ); echo json_encode($response);

Result:

datatable ajax php using pdo

That’s it I hope it helps. Thank you for reading 🙂

Источник

Оцените статью