php - 从数据库获取值并将它们设置在数组中 1tomany

标签 php jquery mysql arrays

我正在尝试从数据库中获取一些值并将它们设置在数组中! 该数组的格式必须为“年:今年可用的月份”。

我有来自不同年份的多个日期,我需要为每年取一个不同的值以及该年可用的月份,并将它们设置在一个数组中,然后将其发送到 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/

相关文章:

javascript - $.width() 在使用自定义字体时返回不同的结果

php - 如何引用其他表

php - 使用 php 为 Windows Phone 7 发送推送通知

Jquery 验证插件消息可以使用 html 标签本身编写

javascript - 附加到最近的选择

python - 如何在 sqlalchemy 中执行 LIKE 查询?

Mysql 查询 - GROUP BY 并显示最高的 COUNT(*)

创建大型 .zip 文件时 PHP 中止

php - 我如何在类别库中进行特色帖子展示

php - num_rows 属性永远无法预测