我正在尝试从数据库中获取一些值并将它们设置在数组中! 该数组的格式必须为“年:今年可用的月份”。
我有来自不同年份的多个日期,我需要为每年取一个不同的值以及该年可用的月份,并将它们设置在一个数组中,然后将其发送到 ajax 调用并将值放入两个数组中下拉列表(一个代表年份,另一个代表月份)。
PHP 代码
$select_all = mysqli_query($dbc, "SELECT DISTINCT YEAR(date) AS year, monthname(date) as month
FROM salaries
where employee_id = '$employeeid1'")or die(mysqli_error($dbc));
$year = array();
while($years = mysqli_fetch_array($select_all)) {
$year[] = $years;
}
foreach ($year as $years) {
$year_array[] = array(
'year' => $years["year"],
'month' => $years["month"]
);
}
echo json_encode($year_array);
jQuery
<script>
$("#employee_id").on("change", function(){
var employeeid = $("#employee_id").val();
console.log('ID is: ' + employeeid);
$.ajax({
url: 'queries.php',
type: 'post',
dataType: 'json',
data: {employeeid: employeeid},
success: function(data) {
var getarray = jQuery.parseJSON(data);
var year = getarray.year;
var month = getarray.month;
console.log('DATAAAA: ' + data);
$("#c_year").html('<option value = ' + year + '>' + year + '</option>');
$("#c_month").html('<option value = ' + month + '>' + month + '</option>');
},
error: function(jqXHR, textStatus, errorThrown) {
console.log(textStatus);
console.log(errorThrown);
}
});
});
我的主页给我一个错误
错误
parsererror index.php:102 SyntaxError: Unexpected token e in JSON at position 0 at JSON.parse () at n.parseJSON (jquery-2.1.3.js:4) at uc (jquery-2.1.3.js:4) at x (jquery-2.1.3.js:4) at XMLHttpRequest. (jquery-2.1.3.js:4)
当我回显我的结果时,我得到空...任何想法我做错了什么?
最佳答案
如果你的ajax请求响应是这样的:
[{年份: "2015", 月份: "一月"},{年份: "2016", 月份: "一月"},{年份: "2018", 月份: "一月"}]
要获取年份和月份,您的 jquery 代码应如下所示:
var getarray = jQuery.parseJSON(data);
for(var loop=0; loop< getarray.length; loop++)
{
var year = getarray[loop].year;
var month = getarray[loop].month;
}
如果你的ajax响应是这样的:
{年份:“2017”,月份:“九月”}
要获取年份和月份,您的 jquery 代码应如下所示:
var getarray = jQuery.parseJSON(data);
var year = getarray.year;
var month = getarray.month;
关于php - 从数据库获取值并将它们设置在数组中 1tomany,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46403051/