我正在使用基于jquery的表插件“ datatables ”,并且我正在尝试在两个数字( “start-date”和“end_date”)之间实现基于ajax的“范围搜索” 。这些输入的值应用于 MySQL 列“order_id”中的查询。在服务器端脚本(fetch.php)上,我捕获了两个值。if(isset($_POST['start_date'], $_POST['end_date'])) {
$query .= 'order_id BETWEEN "'.$_POST["start_date"].'" AND "'.$_POST["end_date"].'" AND ';
}问题是我在控制台中看不到任何错误,但使用数字范围搜索后没有显示结果。“类别选择菜单”(类别和类别2)按预期工作。我已经设置了一个测试站点,也许你可以帮助我找到错误:这是我的脚本:$(document).ready(function () { var category = ""; var category2 = ""; var start_date = ""; var end_date = ""; load_data(); function load_data(is_category, is_category2, start_date, end_date) { console.log(is_category, is_category2, start_date, end_date); var dataTable = $('#product_data').DataTable({ "processing": true, "serverSide": true, "order": [], "ajax": { url: "fetch.php", type: "POST", data: { is_category: is_category, is_category2: is_category2, start_date: start_date, end_date: end_date }, } }); } // Number Range Search $('#search').click(function () { console.log($(this).attr('id'), start_date, end_date) var start_date = $('#start_date').val(); var end_date = $('#end_date').val(); if (start_date != '' && end_date != '') { $('#product_data').DataTable().destroy(); load_data('','',start_date, end_date); } else { alert("Both Date is Required"); } });
1 回答
慕村225694
TA贡献1880条经验 获得超4个赞
那是因为 is_category 和 is_category2 返回 0。您的 php 上可能有一个 if 语句,例如 if $_POST[is_category] 但您也需要执行相同的操作,以防没有选择类别。请分享完整的 php 来帮助您
在您的点击功能上替换 load_data(start_date, end_date); 使用 load_data('','',start_date, end_date);
添加回答
举报
0/150
提交
取消