目前我将结果显示为 php mysql ,如下所示
按日期获取名称.php 文件
$name = $_REQUEST['name'];
$get_from_date = $_REQUEST['from_date'];
$get_to_date = $_REQUEST['to_date'];
if(!empty($get_name) && !empty($get_from_date) && !empty($get_to_date))
{
// $get_from_date = "01/01/2021";
// $get_to_date = "01/01/2021";
$filter_by_name_date = "SELECT * FROM TABLE_NAME WHERE NAME = '". $name ."' AND DATE_FORMAT(LOAD_DATE, '%d/%m/%Y') BETWEEN '". $get_from_date ."' AND '". $get_to_date ."';";
$filter_by_date = mysqli_query($connection,$filter_by_name_date);
confirm_query($filter_by_date);
if(mysqli_num_rows($filter_by_date) > 0)
{
while($filter = mysqli_fetch_array($filter_by_date))
{
$output .= '
<tr>
<td>'.$filter["col_name_1"].'<br></td>
<td>'.$filter["col_name_2"].'<br></td>
<td>'.$filter["col_name_3"].'<br></td>
<td>'.$filter["col_name_4"].'<br></td>
<td>'.$filter["col_name_5"].'<br></td>
</tr>
';
}
}
上面的代码工作正常!
但问题是我将结果显示为。
如您所见,我正在获取最新记录。
此代码是display.php
文件
$recent_oi_query = "SELECT * FROM TABLE_NAME ORDER BY LOAD_DATE ASC LIMIT 1";
$recent_result_set = mysqli_query($connect, $recent_oi_query);
$recent_record = mysqli_fetch_array($recent_result_set);
$recent_date = $recent_record["date_col"];
$query1 = "SELECT * FROM TABLE_NAME WHERE LOAD_DATE = " . "'" . $recent_date . "'";
$result1 = mysqli_query($connect, $query1);
我正在显示它
<table>
<tbody>
<?php
while($row = mysqli_fetch_array($result))
{ ?>
<tr>
<td><?php echo $row["col_name_1"]; ?></td>
<td><?php echo $row["col_name_2"]; ?></td>
<td><?php echo $row["col_name_3"]; ?></td>
<td><?php echo $row["col_name_4"]; ?></td>
<td><?php echo $row["col_name_5"]; ?></td>
</tr>
<?php } ?>
</tbody>
</table>
我有三个字段名称,从日期到日期,带有提交按钮。
我使用 AJAX 调用来获取结果
function getNamePerDate()
{
var name = $('#SearchName').val();
var from_date = $('#bindfromdate').val();
var to_date = $('#bindtodate').val();
$.ajax({
dataType : 'html',
url : 'get-name-by-date-v1.php',
data : {
name: name,
from_date: from_date,
to_date: to_date
},
success : function(data) {
document.getElementById("name-list").innerHTML = data;
console.log('Ajax - Select Success = ' + data);
},
error : function(ms) {
console.log('Ajax - Select Failure = ' + ms);
}
});
}
上面的代码是指 get-name-by-date.php
我的问题是我正在使用 list.js 库List.JS Documentation 他们为我提供了分页和排序。
每次我使用 ajax 按名称和日期搜索时。结果出现,但每页视图的分页和项目不同步
var NameOptions = {
valueNames: ['name'],
page: 10,
pagination: true
};
var Name = new List('name', NameOptions);
$('.name-pagination').on('change', function(){
let numberOfItems = $('.name-pagination option:selected').text();
Name.page = numberOfItems;
Name.update();
});
查询结果后,如果更改页面。查询结果消失。因为显示结果相互重叠。我该如何解决这个问题。
我需要的是我需要使用下面的 ListJS api 示例来呈现变化的结果
<script src="//cdnjs.cloudflare.com/ajax/libs/list.js/1.5.0/list.min.js"></script>
<div id="users">
<input class="search" placeholder="Search" />
<button class="sort" data-sort="name">
Sort by name
</button>
<ul class="list"></ul>
</div>
<script>
var options = {
valueNames: [ 'name', 'date' ],
item: '<li><h3 class="name"></h3><p class="born"></p></li>'
};
var values = [{
name: 'Jonny Strömberg',
date: 1986
},
{
name: 'Jonas Arnklint',
date: 1985
},
{
name: 'Martina Elm',
date: 1986
}];
var userList = new List('users', options, values);
userList.add({
name: "Gustaf Lindqvist",
born: 1983
});
<script>
我有一个对象数组,我必须从 URL 中获取,执行查询,例如从日期“到”到日期获取名称并更新列表 js api。因此结果不会相互合并,并且分页将正常工作。或者您有其他方法吗?