1659344880
DataTable поставляется с одним полем поиска, которое можно использовать для поиска по всем или определенным полям и отображения отфильтрованных записей.
Вы можете добавлять пользовательские элементы в соответствии с вашими требованиями и использовать их с DataTable.
В этом руководстве я покажу, как реализовать поиск по диапазону дат в DataTable с помощью jQuery AJAX и PHP. Я использую jQuery UI для добавления выбора даты.
Создайте employee
таблицу, и я добавил несколько записей.
CREATE TABLE `employee` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`emp_name` varchar(80) NOT NULL,
`salary` varchar(20) NOT NULL,
`gender` varchar(10) NOT NULL,
`city` varchar(80) NOT NULL,
`email` varchar(80) NOT NULL,
`date_of_joining` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Для поиска по дате создал 'date_of_joining'
поле date
типа.
Создайте config.php
для подключения к базе данных.
Завершенный код
<?php
$host = "localhost"; /* Host name */$user = "root"; /* User */$password = ""; /* Password */$dbname = "tutorial"; /* Database name */
$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
datatables.min.css
, jquery-ui.min.css
, библиотеку jQuery jquery-ui.min.js
, и datatables.min.js
в <head>
раздел.<!-- Datatable CSS -->
<link href='//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css' rel='stylesheet' type='text/css'>
<!-- jQuery UI CSS -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<!-- jQuery Library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- jQuery UI JS -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<!-- Datatable JS -->
<script src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
Для фильтра даты создайте два текстовых элемента. Добавлено class='datepicker'
для инициализации datepicker. Кроме того, создайте элемент кнопки.
Создать <table id='empTable'>
.
Завершенный код
<div >
<!-- Date Filter -->
<table>
<tr>
<td>
<input type='text' readonly id='search_fromdate' class="datepicker" placeholder='From date'>
</td>
<td>
<input type='text' readonly id='search_todate' class="datepicker" placeholder='To date'>
</td>
<td>
<input type='button' id="btn_search" value="Search">
</td>
</tr>
</table>
<!-- Table -->
<table id='empTable' class='display dataTable'>
<thead>
<tr>
<th>Employee name</th>
<th>Email</th>
<th>Date of Joining</th>
<th>Salary</th>
<th>City</th>
</tr>
</thead>
</table>
</div>
Инициализировать datepicker
на class='datepicker'
.
Инициализировать DataTable на #empTable
. Установить параметры – 'processing': true, 'serverSide': true, 'serverMethod': 'post'
. Установите URL-адрес AJAX в 'ajaxfile.php'
.
С 'ajax'
data
опцией фильтрации даты от и до даты путем добавления в data
объект. Присвойте from_date
значение в data.searchByFromdate
и to_date
значение в data.searchByTodate
.
Параметр With 'columns'
указывает имена ключей, которые необходимо прочитать из ответа AJAX.
На кнопке поиска нажмите вызов dataTable.draw()
, чтобы перерисовать DataTable и передать значения фильтра.
Завершенный код
$(document).ready(function(){
// Datapicker
$( ".datepicker" ).datepicker({
"dateFormat": "yy-mm-dd",
changeYear: true
});
// DataTable
var dataTable = $('#empTable').DataTable({
'processing': true,
'serverSide': true,
'serverMethod': 'post',
'searching': true, // Set false to Remove default Search Control
'ajax': {
'url':'ajaxfile.php',
'data': function(data){
// Read values
var from_date = $('#search_fromdate').val();
var to_date = $('#search_todate').val();
// Append to data
data.searchByFromdate = from_date;
data.searchByTodate = to_date;
}
},
'columns': [
{ data: 'emp_name' },
{ data: 'email' },
{ data: 'date_of_joining' },
{ data: 'salary' },
{ data: 'city' },
]
});
// Search button
$('#btn_search').click(function(){
dataTable.draw();
});
});
Создайте ajaxfile.php
файл для обработки запросов AJAX.
Прочитайте значения DataTable POST и назначьте их переменным.
Кроме того, прочитайте переданные значения фильтра даты и назначьте in $searchByFromdate
и $searchByTodate
.
Если $searchValue
не пусто, то подготавливает запрос фильтра поиска. Используйте $searchValue
для поиска по полям emp_name, email и city.
Если $searchByFromdate
и $searchByTodate
не пусто, подготовьте и объедините запрос фильтра поиска в файле $searchQuery
. Используйте между, чтобы выбрать записи, date_of_joining
значение поля которых находится между $searchByFromdate
и $searchByTodate
.
Подсчитайте количество записей с фильтром и без него из employee
таблицы. Назначьте итоговые записи без фильтра $totalRecords
и с фильтром в $totalRecordwithFilter
.
Извлеките записи из employee
таблицы, где перейдите $searchQuery
в WHERE
предложение и укажите ORDER BY
и LIMIT
.
Инициализируйте $response
массив с требуемыми значениями и верните в формате JSON.
Завершенный код
<?php
include 'config.php';
## Read value
$draw = $_POST['draw'];
$row = $_POST['start'];
$rowperpage = $_POST['length']; // Rows display per page
$columnIndex = $_POST['order'][0]['column']; // Column index
$columnName = $_POST['columns'][$columnIndex]['data']; // Column name
$columnSortOrder = $_POST['order'][0]['dir']; // asc or desc
$searchValue = mysqli_real_escape_string($con,$_POST['search']['value']); // Search value
## Date search value
$searchByFromdate = mysqli_real_escape_string($con,$_POST['searchByFromdate']);
$searchByTodate = mysqli_real_escape_string($con,$_POST['searchByTodate']);
## Search
$searchQuery = " ";
if($searchValue != ''){
$searchQuery = " and (emp_name like '%".$searchValue."%' or email like '%".$searchValue."%' or city like'%".$searchValue."%' ) ";
}
// Date filter
if($searchByFromdate != '' && $searchByTodate != ''){
$searchQuery .= " and (date_of_joining between '".$searchByFromdate."' and '".$searchByTodate."' ) ";
}
## Total number of records without filtering
$sel = mysqli_query($con,"select count(*) as allcount from employee");
$records = mysqli_fetch_assoc($sel);
$totalRecords = $records['allcount'];
## Total number of records with filtering
$sel = mysqli_query($con,"select count(*) as allcount from employee WHERE 1 ".$searchQuery);
$records = mysqli_fetch_assoc($sel);
$totalRecordwithFilter = $records['allcount'];
## Fetch records
$empQuery = "select * from employee WHERE 1 ".$searchQuery." order by ".$columnName." ".$columnSortOrder." limit ".$row.",".$rowperpage;
$empRecords = mysqli_query($con, $empQuery);
$data = array();
while ($row = mysqli_fetch_assoc($empRecords)) {
$data[] = array(
"emp_name"=>$row['emp_name'],
"email"=>$row['email'],
"date_of_joining"=>$row['date_of_joining'],
"salary"=>$row['salary'],
"city"=>$row['city']
);
}
## Response
$response = array(
"draw" => intval($draw),
"iTotalRecords" => $totalRecords,
"iTotalDisplayRecords" => $totalRecordwithFilter,
"aaData" => $data
);
echo json_encode($response);
die;
Передайте значения фильтра даты, используя ajax
data
опцию. Вызовите draw()
метод для экземпляра dataTable, чтобы перезагрузить данные после выбора даты начала и окончания.
Если в поле таблицы хранится временная метка UNIX вместо даты или формата даты и времени, вам необходимо преобразовать переданные значения фильтра даты из dataTable в формат временной метки UNIX с помощью strtotime()
функции и использовать в поисковом запросе.
Источник: https://makitweb.com
1615040237
PHP jquery ajax POST request with MySQL. In this tutorial, you will learn how to create and submit a simple form in PHP using jQuery ajax post request. And how to submit a form data into MySQL database without the whole page refresh or reload. And also you will learn how to show an error message to the user if the user does not fill any form field.
And this tutorial also guide on how to send data to MySQL database using AJAX + jQuery + PHP without reloading the whole page and show a client-side validation error message if it has an error in the form.
Just follow the few below steps and easily create and submit ajax form in PHP and MySQL with client-side validation.
https://www.tutsmake.com/php-jquery-ajax-post-tutorial-example/
#jquery ajax serialize form data example #submit form using ajax in php example #save form data using ajax in php #how to insert form data using ajax in php #php jquery ajax form submit example #jquery ajax and jquery post form submit example with php
1659344880
DataTable поставляется с одним полем поиска, которое можно использовать для поиска по всем или определенным полям и отображения отфильтрованных записей.
Вы можете добавлять пользовательские элементы в соответствии с вашими требованиями и использовать их с DataTable.
В этом руководстве я покажу, как реализовать поиск по диапазону дат в DataTable с помощью jQuery AJAX и PHP. Я использую jQuery UI для добавления выбора даты.
Создайте employee
таблицу, и я добавил несколько записей.
CREATE TABLE `employee` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`emp_name` varchar(80) NOT NULL,
`salary` varchar(20) NOT NULL,
`gender` varchar(10) NOT NULL,
`city` varchar(80) NOT NULL,
`email` varchar(80) NOT NULL,
`date_of_joining` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Для поиска по дате создал 'date_of_joining'
поле date
типа.
Создайте config.php
для подключения к базе данных.
Завершенный код
<?php
$host = "localhost"; /* Host name */$user = "root"; /* User */$password = ""; /* Password */$dbname = "tutorial"; /* Database name */
$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
datatables.min.css
, jquery-ui.min.css
, библиотеку jQuery jquery-ui.min.js
, и datatables.min.js
в <head>
раздел.<!-- Datatable CSS -->
<link href='//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css' rel='stylesheet' type='text/css'>
<!-- jQuery UI CSS -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.css">
<!-- jQuery Library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- jQuery UI JS -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<!-- Datatable JS -->
<script src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
Для фильтра даты создайте два текстовых элемента. Добавлено class='datepicker'
для инициализации datepicker. Кроме того, создайте элемент кнопки.
Создать <table id='empTable'>
.
Завершенный код
<div >
<!-- Date Filter -->
<table>
<tr>
<td>
<input type='text' readonly id='search_fromdate' class="datepicker" placeholder='From date'>
</td>
<td>
<input type='text' readonly id='search_todate' class="datepicker" placeholder='To date'>
</td>
<td>
<input type='button' id="btn_search" value="Search">
</td>
</tr>
</table>
<!-- Table -->
<table id='empTable' class='display dataTable'>
<thead>
<tr>
<th>Employee name</th>
<th>Email</th>
<th>Date of Joining</th>
<th>Salary</th>
<th>City</th>
</tr>
</thead>
</table>
</div>
Инициализировать datepicker
на class='datepicker'
.
Инициализировать DataTable на #empTable
. Установить параметры – 'processing': true, 'serverSide': true, 'serverMethod': 'post'
. Установите URL-адрес AJAX в 'ajaxfile.php'
.
С 'ajax'
data
опцией фильтрации даты от и до даты путем добавления в data
объект. Присвойте from_date
значение в data.searchByFromdate
и to_date
значение в data.searchByTodate
.
Параметр With 'columns'
указывает имена ключей, которые необходимо прочитать из ответа AJAX.
На кнопке поиска нажмите вызов dataTable.draw()
, чтобы перерисовать DataTable и передать значения фильтра.
Завершенный код
$(document).ready(function(){
// Datapicker
$( ".datepicker" ).datepicker({
"dateFormat": "yy-mm-dd",
changeYear: true
});
// DataTable
var dataTable = $('#empTable').DataTable({
'processing': true,
'serverSide': true,
'serverMethod': 'post',
'searching': true, // Set false to Remove default Search Control
'ajax': {
'url':'ajaxfile.php',
'data': function(data){
// Read values
var from_date = $('#search_fromdate').val();
var to_date = $('#search_todate').val();
// Append to data
data.searchByFromdate = from_date;
data.searchByTodate = to_date;
}
},
'columns': [
{ data: 'emp_name' },
{ data: 'email' },
{ data: 'date_of_joining' },
{ data: 'salary' },
{ data: 'city' },
]
});
// Search button
$('#btn_search').click(function(){
dataTable.draw();
});
});
Создайте ajaxfile.php
файл для обработки запросов AJAX.
Прочитайте значения DataTable POST и назначьте их переменным.
Кроме того, прочитайте переданные значения фильтра даты и назначьте in $searchByFromdate
и $searchByTodate
.
Если $searchValue
не пусто, то подготавливает запрос фильтра поиска. Используйте $searchValue
для поиска по полям emp_name, email и city.
Если $searchByFromdate
и $searchByTodate
не пусто, подготовьте и объедините запрос фильтра поиска в файле $searchQuery
. Используйте между, чтобы выбрать записи, date_of_joining
значение поля которых находится между $searchByFromdate
и $searchByTodate
.
Подсчитайте количество записей с фильтром и без него из employee
таблицы. Назначьте итоговые записи без фильтра $totalRecords
и с фильтром в $totalRecordwithFilter
.
Извлеките записи из employee
таблицы, где перейдите $searchQuery
в WHERE
предложение и укажите ORDER BY
и LIMIT
.
Инициализируйте $response
массив с требуемыми значениями и верните в формате JSON.
Завершенный код
<?php
include 'config.php';
## Read value
$draw = $_POST['draw'];
$row = $_POST['start'];
$rowperpage = $_POST['length']; // Rows display per page
$columnIndex = $_POST['order'][0]['column']; // Column index
$columnName = $_POST['columns'][$columnIndex]['data']; // Column name
$columnSortOrder = $_POST['order'][0]['dir']; // asc or desc
$searchValue = mysqli_real_escape_string($con,$_POST['search']['value']); // Search value
## Date search value
$searchByFromdate = mysqli_real_escape_string($con,$_POST['searchByFromdate']);
$searchByTodate = mysqli_real_escape_string($con,$_POST['searchByTodate']);
## Search
$searchQuery = " ";
if($searchValue != ''){
$searchQuery = " and (emp_name like '%".$searchValue."%' or email like '%".$searchValue."%' or city like'%".$searchValue."%' ) ";
}
// Date filter
if($searchByFromdate != '' && $searchByTodate != ''){
$searchQuery .= " and (date_of_joining between '".$searchByFromdate."' and '".$searchByTodate."' ) ";
}
## Total number of records without filtering
$sel = mysqli_query($con,"select count(*) as allcount from employee");
$records = mysqli_fetch_assoc($sel);
$totalRecords = $records['allcount'];
## Total number of records with filtering
$sel = mysqli_query($con,"select count(*) as allcount from employee WHERE 1 ".$searchQuery);
$records = mysqli_fetch_assoc($sel);
$totalRecordwithFilter = $records['allcount'];
## Fetch records
$empQuery = "select * from employee WHERE 1 ".$searchQuery." order by ".$columnName." ".$columnSortOrder." limit ".$row.",".$rowperpage;
$empRecords = mysqli_query($con, $empQuery);
$data = array();
while ($row = mysqli_fetch_assoc($empRecords)) {
$data[] = array(
"emp_name"=>$row['emp_name'],
"email"=>$row['email'],
"date_of_joining"=>$row['date_of_joining'],
"salary"=>$row['salary'],
"city"=>$row['city']
);
}
## Response
$response = array(
"draw" => intval($draw),
"iTotalRecords" => $totalRecords,
"iTotalDisplayRecords" => $totalRecordwithFilter,
"aaData" => $data
);
echo json_encode($response);
die;
Передайте значения фильтра даты, используя ajax
data
опцию. Вызовите draw()
метод для экземпляра dataTable, чтобы перезагрузить данные после выбора даты начала и окончания.
Если в поле таблицы хранится временная метка UNIX вместо даты или формата даты и времени, вам необходимо преобразовать переданные значения фильтра даты из dataTable в формат временной метки UNIX с помощью strtotime()
функции и использовать в поисковом запросе.
Источник: https://makitweb.com
1659811440
Плагин DataTables — это самый простой способ добавить пагинацию на страницу со всеми необходимыми функциями.
Для добавления элемента управления удалением вы можете либо добавить кнопку удаления для каждой записи, либо добавить флажки и одну кнопку удаления.
В этом руководстве я покажу, как добавить несколько флажков и удалить выбранные записи одним щелчком мыши в DataTables с помощью jQuery AJAX.
Создать employee
таблицу.
CREATE TABLE `employee` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`emp_name` varchar(60) NOT NULL,
`salary` varchar(50) NOT NULL,
`gender` varchar(10) NOT NULL,
`city` varchar(80) NOT NULL,
`email` varchar(80) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Создайте соединение config.php
для базы данных.
Завершенный код
<?php
$host = "localhost"; /* Host name */$user = "root"; /* User */$password = ""; /* Password */$dbname = "tutorial"; /* Database name */
$con = mysqli_connect($host, $user, $password,$dbname);
// Check connection
if (!$con) {
die("Connection failed: " . mysqli_connect_error());
}
datatables.min.css
и datatables.min.js
в <head>
раздел, а также включите библиотеку jQuery.<!-- Datatable CSS -->
<link href='//cdn.datatables.net/1.10.19/css/jquery.dataTables.min.css' rel='stylesheet' type='text/css'>
<!-- jQuery Library -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Datatable JS -->
<script src="//cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
Создайте <table id='empTable' class='display dataTable' >
.
Добавить строку заголовка.
В последнюю ячейку добавьте флажок «Отметить все» и кнопку для удаления отмеченных записей.
Завершенный код
<div >
<!-- Table -->
<table id='empTable' class='display dataTable'>
<thead>
<tr>
<th>Employee name</th>
<th>Email</th>
<th>Gender</th>
<th>Salary</th>
<th>City</th>
<th>Check All <input type="checkbox" class='checkall' id='checkall'><input type="button" id='delete_record' value='Delete' ></th>
</tr>
</thead>
</table>
</div>
Инициализация таблицы данных —
Инициализировать DataTable на <table id='empTable' >
.
Добавьте 'processing': true
, 'serverSide': true
, 'serverMethod': 'post'
. Укажите URL-адрес AJAX и данные, используя 'ajax'
параметр.
Использование 'columns'
параметра для указания имен полей, которые необходимо прочитать из ответа AJAX.
Убрать сортировку из последнего столбца с помощью columnDefs
опции.
Проверить все -
Если флажок checkall установлен, проверьте, отмечен он или нет. Если флажок установлен, установите все флажки, отмеченные class='delete_check'
.
Если флажок не установлен, снимите флажок со всех флажков.
Флажок установлен –
Создайте checkcheckbox()
функцию.
Подсчитайте общее количество флажков и отмеченных флажков class='delete_check'
на странице.
Если общее количество флажков равно общему количеству отмеченных флажков, установите флажок для всех флажков, в противном случае снимите флажок.
Кнопка Удалить –
Прочитайте все отмеченные флажки class='delete_check'
и поместите значение в deleteids_arr
массив.
Если deleteids_arr
длина массива больше, отобразите предупреждение о подтверждении. Отправьте запрос AJAX POST в ajaxfile.php для удаления записей при ok
нажатии кнопки.
Проходите request: 2
, deleteids_arr: deleteids_arr
как data
.
При успешном обратном вызове перезагрузите Datatable, вызвав dataTable.ajax.reload()
.
Завершенный код
var dataTable;
$(document).ready(function(){
// Initialize datatable
dataTable = $('#empTable').DataTable({
'processing': true,
'serverSide': true,
'serverMethod': 'post',
'ajax': {
'url':'ajaxfile.php',
'data': function(data){
data.request = 1;
}
},
'columns': [
{ data: 'emp_name' },
{ data: 'email' },
{ data: 'gender' },
{ data: 'salary' },
{ data: 'city' },
{ data: 'action' },
],
'columnDefs': [ {
'targets': [5], // column index (start from 0)
'orderable': false, // set orderable false for selected columns
}]
});
// Check all
$('#checkall').click(function(){
if($(this).is(':checked')){
$('.delete_check').prop('checked', true);
}else{
$('.delete_check').prop('checked', false);
}
});
// Delete record
$('#delete_record').click(function(){
var deleteids_arr = [];
// Read all checked checkboxes
$("input:checkbox[class=delete_check]:checked").each(function () {
deleteids_arr.push($(this).val());
});
// Check checkbox checked or not
if(deleteids_arr.length > 0){
// Confirm alert
var confirmdelete = confirm("Do you really want to Delete records?");
if (confirmdelete == true) {
$.ajax({
url: 'ajaxfile.php',
type: 'post',
data: {request: 2,deleteids_arr: deleteids_arr},
success: function(response){
dataTable.ajax.reload();
}
});
}
}
});
});
// Checkbox checked
function checkcheckbox(){
// Total checkboxes
var length = $('.delete_check').length;
// Total checked checkboxes
var totalchecked = 0;
$('.delete_check').each(function(){
if($(this).is(':checked')){
totalchecked+=1;
}
});
// Checked unchecked checkbox
if(totalchecked == length){
$("#checkall").prop('checked', true);
}else{
$('#checkall').prop('checked', false);
}
}
Создайте ajaxfile.php
файл.
Из этого файла обработайте два запроса AJAX —
$request == 1
затем прочитать значения POST DataTables. Если $searchQuery
не пусто, подготовьте поисковый запрос. Подсчитайте общее количество записей без фильтра и с фильтром.Выбрать записи из employee
таблицы, где указать поисковый запрос, упорядочить по и ограничить.
Зациклиться на извлеченных записях и инициализировать $data
массив ключами, указанными в columns
опции, при инициализации dataTable.
Назначьте флажок в ‘action’
ключе. В добавленном флажке onclick=‘checkcheckbox()’
передайте атрибут и .$row[‘id’]valueclass=‘delete_check’
Назначьте необходимые ключи со значениями в $response
массиве и верните в формате JSON.
$request == 2
затем зациклиться на $deleteids_arr
массиве и выполнить DELETE
запрос по идентификатору.Завершенный код
<?php
include 'config.php';
$request = $_POST['request'];
// Datatable data
if($request == 1){
## Read value
$draw = $_POST['draw'];
$row = $_POST['start'];
$rowperpage = $_POST['length']; // Rows display per page
$columnIndex = $_POST['order'][0]['column']; // Column index
$columnName = $_POST['columns'][$columnIndex]['data']; // Column name
$columnSortOrder = $_POST['order'][0]['dir']; // asc or desc
$searchValue = mysqli_real_escape_string($con,$_POST['search']['value']); // Search value
## Search
$searchQuery = " ";
if($searchValue != ''){
$searchQuery .= " and (emp_name like '%".$searchValue."%' or
email like '%".$searchValue."%' or
city like'%".$searchValue."%' ) ";
}
## Total number of records without filtering
$sel = mysqli_query($con,"select count(*) as allcount from employee");
$records = mysqli_fetch_assoc($sel);
$totalRecords = $records['allcount'];
## Total number of records with filtering
$sel = mysqli_query($con,"select count(*) as allcount from employee WHERE 1 ".$searchQuery);
$records = mysqli_fetch_assoc($sel);
$totalRecordwithFilter = $records['allcount'];
## Fetch records
$empQuery = "select * from employee WHERE 1 ".$searchQuery." order by ".$columnName." ".$columnSortOrder." limit ".$row.",".$rowperpage;
$empRecords = mysqli_query($con, $empQuery);
$data = array();
while ($row = mysqli_fetch_assoc($empRecords)) {
$data[] = array(
"emp_name"=>$row['emp_name'],
"email"=>$row['email'],
"gender"=>$row['gender'],
"salary"=>$row['salary'],
"city"=>$row['city'],
"action"=>"<input type='checkbox' class='delete_check' id='delcheck_".$row['id']."' onclick='checkcheckbox();' value='".$row['id']."'>"
);
}
## Response
$response = array(
"draw" => intval($draw),
"iTotalRecords" => $totalRecords,
"iTotalDisplayRecords" => $totalRecordwithFilter,
"aaData" => $data
);
echo json_encode($response);
exit;
}
// Delete record
if($request == 2){
$deleteids_arr = array();
if(isset($_POST['deleteids_arr'])){
$deleteids_arr = $_POST['deleteids_arr'];
}
foreach($deleteids_arr as $deleteid){
mysqli_query($con,"DELETE FROM employee WHERE id=".$deleteid);
}
echo 1;
exit;
}
Создайте отдельную колонку для добавления флажков с записями.
На кнопке удаления нажмите цикл на отмеченных флажках и отправьте запрос AJAX, чтобы УДАЛИТЬ его и обновить DataTable.
Источник: https://makitweb.com
1602560783
In this article, we’ll discuss how to use jQuery Ajax for ASP.NET Core MVC CRUD Operations using Bootstrap Modal. With jQuery Ajax, we can make HTTP request to controller action methods without reloading the entire page, like a single page application.
To demonstrate CRUD operations – insert, update, delete and retrieve, the project will be dealing with details of a normal bank transaction. GitHub repository for this demo project : https://bit.ly/33KTJAu.
Sub-topics discussed :
In Visual Studio 2019, Go to File > New > Project (Ctrl + Shift + N).
From new project window, Select Asp.Net Core Web Application_._
Once you provide the project name and location. Select Web Application(Model-View-Controller) and uncheck HTTPS Configuration. Above steps will create a brand new ASP.NET Core MVC project.
Let’s create a database for this application using Entity Framework Core. For that we’ve to install corresponding NuGet Packages. Right click on project from solution explorer, select Manage NuGet Packages_,_ From browse tab, install following 3 packages.
Now let’s define DB model class file – /Models/TransactionModel.cs.
public class TransactionModel
{
[Key]
public int TransactionId { get; set; }
[Column(TypeName ="nvarchar(12)")]
[DisplayName("Account Number")]
[Required(ErrorMessage ="This Field is required.")]
[MaxLength(12,ErrorMessage ="Maximum 12 characters only")]
public string AccountNumber { get; set; }
[Column(TypeName ="nvarchar(100)")]
[DisplayName("Beneficiary Name")]
[Required(ErrorMessage = "This Field is required.")]
public string BeneficiaryName { get; set; }
[Column(TypeName ="nvarchar(100)")]
[DisplayName("Bank Name")]
[Required(ErrorMessage = "This Field is required.")]
public string BankName { get; set; }
[Column(TypeName ="nvarchar(11)")]
[DisplayName("SWIFT Code")]
[Required(ErrorMessage = "This Field is required.")]
[MaxLength(11)]
public string SWIFTCode { get; set; }
[DisplayName("Amount")]
[Required(ErrorMessage = "This Field is required.")]
public int Amount { get; set; }
[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
public DateTime Date { get; set; }
}
C#Copy
Here we’ve defined model properties for the transaction with proper validation. Now let’s define DbContextclass for EF Core.
#asp.net core article #asp.net core #add loading spinner in asp.net core #asp.net core crud without reloading #asp.net core jquery ajax form #asp.net core modal dialog #asp.net core mvc crud using jquery ajax #asp.net core mvc with jquery and ajax #asp.net core popup window #bootstrap modal popup in asp.net core mvc. bootstrap modal popup in asp.net core #delete and viewall in asp.net core #jquery ajax - insert #jquery ajax form post #modal popup dialog in asp.net core #no direct access action method #update #validation in modal popup
1597487472
Here, i will show you how to populate country state city in dropdown list in php mysql using ajax.
You can use the below given steps to retrieve and display country, state and city in dropdown list in PHP MySQL database using jQuery ajax onchange:
https://www.tutsmake.com/country-state-city-database-in-mysql-php-ajax/
#country state city drop down list in php mysql #country state city database in mysql php #country state city drop down list using ajax in php #country state city drop down list using ajax in php demo #country state city drop down list using ajax php example #country state city drop down list in php mysql ajax