gpt4 book ai didi

php - 尝试根据用户输入使用 ajax 和 php 在两个日期之间加载数据

转载 作者:行者123 更新时间:2023-11-30 22:54:38 25 4
gpt4 key购买 nike

我正在尝试从我的数据库中获取数据,以便在用户选择两个日期时显示。第一个日期将是“开始日期”,第二个将是“结束日期”。根据我提供的规范,他们需要查看用户输入的日期之间的数据。当用户搜索该月的特定日期并且数据显示没有问题时,我目前可以使用它。我遇到的问题是当他们输入要搜索的开始和结束日期时让数据显示。如果有人能看到我的错误或缺少我需要的代码,我将不胜感激。谢谢。

这是我的 HTML 文件

$( "#datepicker , #datepicker2" ).datepicker({ dateFormat: "yy-mm-dd" });

</script>

<html>
<body>
<div id="Search-Form">
<div id="search-container">
<label>
<span>Search :</span>
<input type="text" name="search" value="" id="datepicker" class="text-field">
<span>or Between</span>
<input type="text" name="search2" value="" id="datepicker2" class="text-field">
</label>
<div id="search-submit">
<input type="button" name="submit" id="sumbit" value="SUBMIT" onclick="loadData()">
</div>
</div>
</div>
<div id="queryTable">
</div>
<div id="queryTractors">
</div>
</body>
</html>

这是我的 ajax.php 文件

include "../Database/connection.php";

$tractor_Tbl = "Tractor";
$trailer_Tbl = "Trailer";
$data = array();
$TractorData = array();


if(isset($_REQUEST['search'])) {

$se = mysql_entities_fix_string($connection, $_REQUEST['search']);
$se2 = mysql_entities_fix_string($connection, $_REQUEST['search2']);

$query = "SELECT * FROM Trailer WHERE datewashed BETWEEN '$se' AND '$se2'";

$result = $connection->query($query);

while($info = mysqli_fetch_array($result)) {

array_push($data , $info);

}else{

echo $connection->error;
}
}


error_reporting(E_ALL);
ini_set('display_errors', 1);

echo json_encode ($data);
return;

function mysql_fix_string($connection, $string) {

if(get_magic_quotes_gpc()) $string = stripslashes($string);

return $connection->real_escape_string($string);

}

function mysql_entities_fix_string($connection, $string) {

return htmlentities(mysql_fix_string($connection, $string));

}
?>

这是我目前拥有的加载功能。

function loadData() {

// Search val
var search = $("input#datepicker").val();
var search2 = $("input#datepicker2").val();
var url = encodeURI('/BLT/Services/ajax.php?search=' + search+'&search2=' + search2);

$.getJSON( url, function( data ) {

var html = '';
html += "<table border='1' border-color='black' cellpadding='2px'><thead>";
html += "<tr height='43' align='center'>";
html += "<th cellpadding='2px'><b>Trailer Number</b></th>";
html += "<th cellpadding='2px'><b>Location</b></th>";
html += "<th cellpadding='2px'><b>Washer</b></th>";
html += "<th cellpadding='2px'><b>Exterior Wash</b></th>";
html += "<th cellpadding='2px'><b>Date Washed</b></th>";
html += '</tr><tbody>';

var count = 0;
$.each( data, function( index, row ) {
html += '<tr>';
html += "<td cellpadding='2px'>" + row.Trailer_Num + "</td>";
html += "<td cellpadding='2px'>" + row.Location + "</td>";
html += "<td cellpadding='2px'>" + row.washer + "</td>";
html += "<td cellpadding='2px'>" + row.exWash + "</td>";
html += "<td cellpadding='2px'>" + row.datewashed + "</td>";
html += '</tr>';

count++;
});

if (count == 0) {

html += '<tr><td colspan="5">No results were found from your query.</td></tr>';
}

html += '</tbody></table>';
$("div#queryTable").html(html);
});
}

最佳答案

函数 loadData() 只发送 datePicker 的值;不是“datePicker2”的值。我认为这可能是问题所在。我不知道PHP。您能否验证在 PHP 方面,您是否收到了这两个日期?如果不是,那么我认为您应该将您的 JSON URL 重新排列如下

encodeURI('/BLT/Services/ajax.php?search=' + search+'&search2=' + search2);

search2 在哪里

 var search = $("input#datepicker2").val();

顺便说一句,命名变量不太好。您可以将 'datepicker' 和 'datepicker2' 分别命名为 'startDate' 和 'endDate'

关于php - 尝试根据用户输入使用 ajax 和 php 在两个日期之间加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26965394/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com