gpt4 book ai didi

javascript - PHP 结果到 AJAX 比较数组问题

转载 作者:行者123 更新时间:2023-11-28 06:21:17 27 4
gpt4 key购买 nike

PHP 和 AJAX 存在一些问题。希望有人能帮助我:

目标:

使用 Ajax 将数据库中的日期与从 jquery 中的每个循环获取的日期进行比较

到目前为止我所拥有的:

Ajax/jQuery:

var $sqlcal = $('#calHeader').data('sqlcal');//contains database

$.ajax({
type: "GET",
url: 'XXXX.php',
data: {sqlcal: $sqlcal},
success: function(data){

var x = data;

$('.open-button').each(function(){
var e = $(this);
var e1 = e.data('dtc'); //contains dates yyyy-mm-dd

if (e1 == x){
//e.css('background','red');
console.log('yes')
}else{
console.log('no');
}
//console.log(e1);
});

},
error: function(){
console.log('didnt work');
}

});

PHP

//MySQL Database Connect
include 'scripts/connect.php';



if(isset($_GET['sqlcal'])){

$currentCal = $_GET['sqlcal'];
$sqlGetEvents = "SELECT eventDate FROM $currentCal";
$eventResults = $connection->query($sqlGetEvents);

if ($eventResults->num_rows > 0){
$a = array();
while($row = $eventResults->fetch_array()){
array_push($a, array($row['eventDate']));
}
echo (json_encode($a));
}
}//end of script

PHP 结果格式:

[
["2016-02-05"],
["2016-02-05"],
["2016-02-05"],
["2016-02-06"],
["2016-02-07"]
]

我似乎无法获取可用于与 jQuery 信息进行比较的格式的数组。预先感谢您的帮助。

最佳答案

你应该使用.inArray并且你的PHP应该只输出一维数组,例如:["2016-02-04", "2016-02-05", "2016- 02-05”、“2016-02-06”、“2016-02-07”]。另外,如果您接收 JSON,请确保将 dataType 设置为 'json'。换句话说,您的代码应该是:

PHP:

while($row = $eventResults->fetch_array()){
array_push($a, $row['eventDate']);
}

JS:

$.ajax({
type: "GET",
url: 'data.php',
dataType: 'json',
success: function (dates) {

$('.open-button').each(function () {
var date = $(this).data('dtc'); //contains dates yyyy-mm-dd
if ($.inArray(date, dates) > -1) {
$(this).css('color', 'red');
console.log('yes')
} else {
console.log('no');
}
});

},
error: function () {
console.log('didnt work');
}

});

关于javascript - PHP 结果到 AJAX 比较数组问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35512593/

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