[并在php和jQuery中获取并显示基于月份的数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[并在php和jQuery中获取并显示基于月份的数据相关的知识,希望对你有一定的参考价值。

我有两个按钮,下一个和上一个。单击下一个按钮时,应该显示下个月的数据,反之亦然。我试图在jQuery中实现此功能,但是代码无法正常工作。

$.ajax({
        url : w_url1,
        type: "GET",
        data: {'type' : type, 'sub_type' : sub_type, 'variant' : variant, 'month': increment_month, 'year': next_year},
        dataType: "JSON",
        success : function(data)
        {           
            $('.default-stock #datatable-buttons').hide();          
            $('.monthly-stock #datatable-buttons').show();
            var dates = data['dates'];
            var output = data['output'];

            var all_dates = [];
            var value2_array_keys = [];
            var key_difference = [];
            var value2_data = [];
            var v_data = [];

            var date = new Date();
            $.each(dates.reverse(), function(i){
                var date = new Date(dates[i]);
                all_dates.push(dates[i]);
                $('.monthly-stock #datatable-buttons .stock-d').after('<td>'+date.getDate()+'</td>');
            });

            $.each(output, function(key,value){
                $.each(value, function(key1,value1){
                    $.each(value1, function(key2, value2){
                        value2_array_keys.push(key2); 
                        value2_data.push(value2);       
                        $('.initial-row').after('<tr>'
                                                    +'<td>'+key+'</td>'
                                                    +'<td class="stock_append">'+key1+'</td>'
                                                +'</tr>'
                                                );                                                  
                    });
                });
            });

            var result = all_dates.filter(function (a) {
                return value2_array_keys.indexOf(a) === -1;
            });

            $.each(output, function(key,value){
            $.each(value, function(key1,value1){
                $.each(value1, function(key2, value2){
                    value2_array_keys.push(key2); 
                    value2_data.push(value2);       
                    $('.initial-row').after('<tr>'
                                                +'<td>'+key+'</td>'
                                                +'<td class="stock_append">'+key1+'</td>'
                                            +'</tr>'
                                            );      

                });
            });
        });
        },
        error : function(jqXHR, textStatus, errorThrown)
        {
            console.warn(jqXHR.responseText)
            alert("ajax could not get data");
        }
    });

单击下一个按钮时将调用此ajax。

日期,输出和库存出售的数组输出

{
    "dates": [
        "2020-02-01",
        "2020-02-02",
        "2020-02-03",
        "2020-02-04",
        "2020-02-05",
        "2020-02-06",
        "2020-02-07",
        "2020-02-08",
        "2020-02-09",
        "2020-02-10",
        "2020-02-11",
        "2020-02-12",
        "2020-02-13",
        "2020-02-14",
        "2020-02-15",
        "2020-02-16",
        "2020-02-17",
        "2020-02-18",
        "2020-02-19",
        "2020-02-20",
        "2020-02-21",
        "2020-02-22",
        "2020-02-23",
        "2020-02-24",
        "2020-02-25",
        "2020-02-26",
        "2020-02-27",
        "2020-02-28",
        "2020-02-29"
    ],
    "output": {
        "45x34": {
            "789": {
                "2020-02-04": {
                    "size": "45x34",
                    "category": "steel",
                    "type": "structural",
                    "sub_type": "flats",
                    "date": "2020-02-04",
                    "stock_out": "12",
                    "opening_stock": "789"
                }
            }
        },
        "67x4": {
            "900": {
                "2020-02-04": {
                    "size": "67x4",
                    "category": "steel",
                    "type": "structural",
                    "sub_type": "flats",
                    "date": "2020-02-04",
                    "stock_out": "45",
                    "opening_stock": "900"
                }
            }
        },
        "34x12": {
            "121": {
                "2020-02-04": {
                    "size": "34x12",
                    "category": "steel",
                    "type": "structural",
                    "sub_type": "flats",
                    "date": "2020-02-04",
                    "stock_out": "2",
                    "opening_stock": "121"
                }
            }
        }
    },
    "stock_sold": {
        "45x34": 12,
        "67x4": 45,
        "34x12": 2
    }
}

我正在检查输出数组中的日期键是否存在于dates数组中。如果是,则该键的stock_out值以表格形式显示在该日期键列下,如果没有,则显示为空。目前,我正在单个单元格中获取所有stock_out值。

我正在获取-捕获的TypeError:无法读取未定义的属性'stock_out'

答案

它在我使用前发生在我身上

try{} catch{}

然后阻止我发现我没有在某些对象数组中获得键

以上是关于[并在php和jQuery中获取并显示基于月份的数据的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中从数据库中检索数据并在同一页面上的 JQuery 中显示它们

使用 jQuery-AJAX 向 PHP 提交表单并在不刷新的情况下在 div 中显示新内容的问题

获取 ASP.NET GridView 单元格值并在 JQuery 进度条中显示

如何通过 jQuery+Codeigniter 获取值并显示在输入字段中?

38)PHP,获取数据库数据并在html中显示(晋级5)

如何从 Laravel 后端获取数据并在 Vue/Nuxt 前端显示