Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的图表数据有2个条件(无日期输入和有日期输入)未显示任何结果_Javascript_Php_Json_Mysql Workbench - Fatal编程技术网

Javascript 我的图表数据有2个条件(无日期输入和有日期输入)未显示任何结果

Javascript 我的图表数据有2个条件(无日期输入和有日期输入)未显示任何结果,javascript,php,json,mysql-workbench,Javascript,Php,Json,Mysql Workbench,目前我的代码有一些问题。共有2页 我尝试在读取文件中从数据库中提取数据,并将其发布到索引中,以图表的形式显示数据。我还创建了两种类型的输入,用户可以根据日期和时间范围过滤数据。问题是我的索引没有显示任何类型的数据结果(图表)。请帮助 index.php <script type="text/javascript" language="javascript"> $(document).ready(function(data){ $('#datetimepicke

目前我的代码有一些问题。共有2页

我尝试在读取文件中从数据库中提取数据,并将其发布到索引中,以图表的形式显示数据。我还创建了两种类型的输入,用户可以根据日期和时间范围过滤数据。问题是我的索引没有显示任何类型的数据结果(图表)。请帮助

  • index.php

    <script type="text/javascript" language="javascript">
        $(document).ready(function(data){
            $('#datetimepicker').datetimepicker({
                format:'yyyy-mm-dd HH:mm:ss'
            });
    
            $('#datetimepicker1').datetimepicker({
                format:'yyyy-mm-dd HH:mm:ss'
            });
    
            fetch_data('no');
    
            function fetch_data(is_date_search,datetimepicker='',datetimepicker1=''){
                $.ajax({
                    url:"read.php",
                    async: false,
                    dataType: 'json',
                    type:"post",
                    data:{
                        is_date_search:is_date_search,datetimepicker:datetimepicker,datetimepicker1:datetimepicker1
                    },
    
                    success: function(data){
                        console.log(data);
                        var grade = [];
                        var percentage = [];
    
                        for (var i in data){
                            grade.push(data[i].grade);
                            percentage.push(data[i].percentage);
                        }
    
                        var chartdata = {
                            labels: grade,
                            datasets : [
                                {
                                    label: 'Yield report',                      
                                    backgroundColor: [
                                        'rgba(255, 99, 132, 0.2)',
                                        'rgba(54, 162, 235, 0.2)',
                                        'rgba(255, 206, 86, 0.2)',
                                        'rgba(75, 192, 192, 0.2)',
                                        'rgba(153, 102, 255, 0.2)',
                                        'rgba(255, 159, 64, 0.2)',
                                        'rgba(0, 128, 128, 0.2)',
                                        'rgba(0, 255, 0, 0.2)',
                                        'rgba(0, 255, 255, 0.2)'
                                    ],
                                    borderColor: [
                                        'rgba(255, 99, 132, 1)',
                                        'rgba(54, 162, 235, 1)',
                                        'rgba(255, 206, 86, 1)',
                                        'rgba(75, 192, 192, 1)',
                                        'rgba(153, 102, 255, 1)',
                                        'rgba(255, 159, 64, 1)',
                                        'rgba(0, 128, 128, 1)',
                                        'rgba(0, 255, 0, 1)',
                                        'rgba(0, 255, 255, 1)'
                                    ],
                                    hoverBackgroundColor: [
                                        'rgba(255, 99, 132, 1)',
                                        'rgba(54, 162, 235, 1)',
                                        'rgba(255, 206, 86, 1)',
                                        'rgba(75, 192, 192, 1)',
                                        'rgba(153, 102, 255, 1)',
                                        'rgba(255, 159, 64, 1)',
                                        'rgba(0, 128, 128, 1)',
                                        'rgba(0, 255, 0, 1)',
                                        'rgba(0, 255, 255, 1)'
                                    ],
                                    hoverBorderColor: [
                                        'rgba(255, 99, 132, 1)',
                                        'rgba(54, 162, 235, 1)',
                                        'rgba(255, 206, 86, 1)',
                                        'rgba(75, 192, 192, 1)',
                                        'rgba(153, 102, 255, 1)',
                                        'rgba(255, 159, 64, 1)',
                                        'rgba(0, 128, 128, 1)',
                                        'rgba(0, 255, 0, 1)',
                                        'rgba(0, 255, 255, 1)'
                                    ],
                                    data: percentage
                                }
                            ]
                        };
    
                        var ctx = $("#myChart");
    
                        var barGraph = new Chart(ctx,{
                            type: 'bar',
                            data: chartdata         
                        });
                    },
                    error: function(){}
                });     
            }
    
            $('#search').click(function(){
                var start_date = $('.datetimepicker').val();
                var end_date = $('.datetimepicker1').val();
    
                if(start_date !='' && end_date !='')
                {
                    fetch_data('yes', start_date, end_date);
                }
                else
                {
                    alert("Both Date is Required");
                }
    
            });
    
    
        });
    </script>
    
    
    $(文档).ready(函数(数据){
    $(“#datetimepicker”).datetimepicker({
    格式:'yyyy-mm-dd HH:mm:ss'
    });
    $('#datetimepicker1')。datetimepicker({
    格式:'yyyy-mm-dd HH:mm:ss'
    });
    获取_数据(“否”);
    函数fetch_data(是_date_search,datetimepicker='',datetimepicker1=''){
    $.ajax({
    url:“read.php”,
    async:false,
    数据类型:“json”,
    类型:“post”,
    数据:{
    is_date_搜索:is_date_搜索,datetimepicker:datetimepicker,datetimepicker1:datetimepicker1
    },
    成功:功能(数据){
    控制台日志(数据);
    var等级=[];
    风险值百分比=[];
    用于(数据中的var i){
    grade.push(数据[i].grade);
    push(数据[i].percentage);
    }
    var图表数据={
    标签:等级,
    数据集:[
    {
    标签:“产量报告”,
    背景颜色:[
    "rgba(255,99,132,0.2)",,
    “rgba(54162235,0.2)”,
    "rgba(255,206,86,0.2)",,
    “rgba(751921920.2)”,
    “rgba(153102255,0.2)”,
    "rgba(255,159,64,0.2)",,
    "rgba(0,128,128,0.2)",,
    'rgba(0,255,0,0.2)',
    'rgba(0,255,255,0.2)'
    ],
    边框颜色:[
    "rgba(255,99,132,1)",,
    “rgba(54162235,1)”,
    "rgba(255,206,86,1)",,
    "rgba(751921921)",,
    "rgba(153102255,1)",,
    "rgba(255,159,64,1)",,
    'rgba(0,128,128,1)',
    'rgba(0,255,0,1)',
    'rgba(0,255,255,1)'
    ],
    悬停背景颜色:[
    "rgba(255,99,132,1)",,
    “rgba(54162235,1)”,
    "rgba(255,206,86,1)",,
    "rgba(751921921)",,
    "rgba(153102255,1)",,
    "rgba(255,159,64,1)",,
    'rgba(0,128,128,1)',
    'rgba(0,255,0,1)',
    'rgba(0,255,255,1)'
    ],
    悬停边框颜色:[
    "rgba(255,99,132,1)",,
    “rgba(54162235,1)”,
    "rgba(255,206,86,1)",,
    "rgba(751921921)",,
    "rgba(153102255,1)",,
    "rgba(255,159,64,1)",,
    'rgba(0,128,128,1)',
    'rgba(0,255,0,1)',
    'rgba(0,255,255,1)'
    ],
    数据:百分比
    }
    ]
    };
    var ctx=$(“我的图表”);
    var条形图=新图表(ctx{
    类型:'bar',
    数据:图表数据
    });
    },
    错误:函数(){}
    });     
    }
    $(“#搜索”)。单击(函数(){
    var start_date=$('.datetimepicker').val();
    var end_date=$('.datetimepicker1').val();
    如果(开始日期!=''和结束日期!='')
    {
    获取数据(“是”,开始日期,结束日期);
    }
    其他的
    {
    警报(“需要两个日期”);
    }
    });
    });
    
  • read.php

    $columns = array( 
        // datatable column index  => database column name
        0 => 'grade', 
        1 => 'quantity', 
        2 => 'percentage'
    );
    
    
    $sql = "SELECT category.grade as grade,gradesum.quantity as quantity, gradesum.percentage as percentage FROM";
    
    if($_POST["is_date_search"]!="yes")
    {
    
        $currentdate = new DateTime(date('Y-m-d H:i:s'));
    
        $datenow = $currentdate->format('Y-m-d');
        $timenow = $currentdate->format('H:i:s');
    
        $startdate = new DateTime(date('Y-m-d H:i:s', strtotime('-1 day', time())));
    
        $dateyesterday = $startdate->format('Y-m-d');
        $timeyesterday = $startdate->format('H:i:s');
    
        if($timenow >= '07:30:00')
        {
            $timenow1 = '07:30:00';
            $finaldate = date('Y-m-d H:i:s', strtotime("$datenow $timenow1"));
    
        }
        else if($timenow < '07:30:00')
        {
            $timenow2 = '07:30:00';
            $finaldate = date('Y-m-d H:i:s', strtotime("$datenow $timenow2"));          
        }
    
    
        if($timeyesterday >= '07:30:00')
        {
            $timeyesterday1 = '07:30:00';
            $finaldate1 = date('Y-m-d H:i:s', strtotime("$dateyesterday $timeyesterday1"));         
        }
        else if($timeyesterday < '07:30:00')
        {
            $timeyesterday2 = '07:30:00';
            $finaldate1 = date('Y-m-d H:i:s', strtotime("$dateyesterday $timeyesterday2"));         
        }
    
        $sql .="
                (
                    (
                        SELECT grade FROM mcs_cell2.mcs_stack_id_gen_combined
                        WHERE wo LIKE '%szb%'
                                AND (status NOT LIKE 'terminate%'
                                OR status IS NULL)
                        AND grade != 'RR'
                        GROUP BY grade
                    )category
    
                    LEFT JOIN        
    
                    (        
                        SELECT grade,sum(qtty) as quantity,
                        CAST((sum(qtty)/(
                                    SELECT sum(qtty) FROM mcs_cell2.mcs_stack_id_gen_combined
                                    WHERE wo LIKE '%szb%'
                                    AND (
                                            ((1065_move_in_time >= '".$finaldate1."'AND 1065_move_in_time < '".$finaldate."')AND grade !='A1')
                                            OR 
                                            ((1060_move_out_time >= '".$finaldate1."'AND 1060_move_out_time < '".$finaldate."')AND grade = 'A1')
                                        )
                                    AND (status NOT LIKE 'terminate%'OR status IS NULL)
                                    )* 100)as decimal (10,2)) as percentage
                        FROM mcs_cell2.mcs_stack_id_gen_combined
                        WHERE wo LIKE '%szb%'
                                AND
                                (
                                    ((1065_move_in_time >= '".$finaldate1."' AND 1065_move_in_time < '".$finaldate."')AND grade != 'A1')
                                    OR 
                                    ((1060_move_out_time >= '".$finaldate1."' AND 1060_move_out_time < '".$finaldate."') AND grade = 'A1')
                                )
                                AND (status NOT LIKE 'terminate%'
                                OR status IS NULL)
                        GROUP BY grade
                    )gradesum on category.grade = gradesum.grade
                )       
        ";
    }
    
    if($_POST["is_date_search"]=="yes")
    {
        $sql .= "               
        (
            (
                SELECT grade FROM mcs_cell2.mcs_stack_id_gen_combined
                WHERE wo LIKE '%szb%'
                        AND (status NOT LIKE 'terminate%'
                        OR status IS NULL)
                AND grade != 'RR'
                GROUP BY grade
            )category
    
                LEFT JOIN        
    
                (        
                    SELECT grade,sum(qtty) as quantity,
                    CAST((sum(qtty)/(
                                SELECT sum(qtty) FROM mcs_cell2.mcs_stack_id_gen_combined
                                WHERE wo LIKE '%szb%'
                                AND (
                                        ((1065_move_in_time >= '".$POST_['datetimepicker']."'AND 1065_move_in_time < '".$POST_['datetimepicker1']."')AND grade !='A1')
                                        OR 
                                        ((1060_move_out_time >= '".$POST_['datetimepicker']."'AND 1060_move_out_time < '".$POST_['datetimepicker1']."')AND grade = 'A1')
                                    )
                                AND (status NOT LIKE 'terminate%'OR status IS NULL)
                                )* 100)as decimal (10,2)) as percentage
                    FROM mcs_cell2.mcs_stack_id_gen_combined
                    WHERE wo LIKE '%szb%'
                            AND
                            (
                                ((1065_move_in_time >= '".$POST_['datetimepicker']."' AND 1065_move_in_time < '".$POST_['datetimepicker1']."')AND grade != 'A1')
                                OR 
                                ((1060_move_out_time >= '".$POST_['datetimepicker']."' AND 1060_move_out_time < '".$POST_['datetimepicker1']."') AND grade = 'A1')
                            )
                            AND (status NOT LIKE 'terminate%'
                            OR status IS NULL)
                    GROUP BY grade
                )gradesum on category.grade = gradesum.grade
            )
        ";
    
    }
    
    
    $query=mysqli_query($cell2, $sql) or die("-");
    $totalData = mysqli_num_rows($query);
    //echo $totalData;
    $totalFiltered = $totalData;  
    
    $sqls = "SELECT category.grade as grade,gradesum.quantity as quantity, gradesum.percentage as percentage FROM";
    
            if($_POST["is_date_search"]!="yes")
            {
    
        $currentdate = new DateTime(date('Y-m-d H:i:s'));
    
    $datenow = $currentdate->format('Y-m-d');
    $timenow = $currentdate->format('H:i:s');
    
    $startdate = new DateTime(date('Y-m-d H:i:s', strtotime('-1 day', time())));
    
    $dateyesterday = $startdate->format('Y-m-d');
    $timeyesterday = $startdate->format('H:i:s');
    
    if($timenow >= '07:30:00')
    {
        $timenow1 = '07:30:00';
        $finaldate = date('Y-m-d H:i:s', strtotime("$datenow $timenow1"));
    
    }
    else if($timenow < '07:30:00')
    {
        $timenow2 = '07:30:00';
        $finaldate = date('Y-m-d H:i:s', strtotime("$datenow $timenow2"));          
    }
    
    
    if($timeyesterday >= '07:30:00')
    {
        $timeyesterday1 = '07:30:00';
        $finaldate1 = date('Y-m-d H:i:s', strtotime("$dateyesterday $timeyesterday1"));         
    }
    else if($timeyesterday < '07:30:00')
    {
        $timeyesterday2 = '07:30:00';
        $finaldate1 = date('Y-m-d H:i:s', strtotime("$dateyesterday $timeyesterday2"));         
    }
    
    $sqls .="
            (
                (
                    SELECT grade FROM mcs_cell2.mcs_stack_id_gen_combined
                    WHERE wo LIKE '%szb%'
                            AND (status NOT LIKE 'terminate%'
                            OR status IS NULL)
                    AND grade != 'RR'
                    GROUP BY grade
                )category
    
                LEFT JOIN        
    
                (        
                    SELECT grade,sum(qtty) as quantity,
                    CAST((sum(qtty)/(
                                SELECT sum(qtty) FROM mcs_cell2.mcs_stack_id_gen_combined
                                WHERE wo LIKE '%szb%'
                                AND (
                                        ((1065_move_in_time >= '".$finaldate1."'AND 1065_move_in_time < '".$finaldate."')AND grade !='A1')
                                        OR 
                                        ((1060_move_out_time >= '".$finaldate1."'AND 1060_move_out_time < '".$finaldate."')AND grade = 'A1')
                                    )
                                AND (status NOT LIKE 'terminate%'OR status IS NULL)
                                )* 100)as decimal (10,2)) as percentage
                    FROM mcs_cell2.mcs_stack_id_gen_combined
                    WHERE wo LIKE '%szb%'
                            AND
                            (
                                ((1065_move_in_time >= '".$finaldate1."' AND 1065_move_in_time < '".$finaldate."')AND grade != 'A1')
                                OR 
                                ((1060_move_out_time >= '".$finaldate1."' AND 1060_move_out_time < '".$finaldate."') AND grade = 'A1')
                            )
                            AND (status NOT LIKE 'terminate%'
                            OR status IS NULL)
                    GROUP BY grade
                )gradesum on category.grade = gradesum.grade
            )       
    ";
    
    
    }
    
    
    if($_POST["is_date_search"]=="yes")
    {
    $sqls .= "              
    (
                (
                    SELECT grade FROM mcs_cell2.mcs_stack_id_gen_combined
                    WHERE wo LIKE '%szb%'
                            AND (status NOT LIKE 'terminate%'
                            OR status IS NULL)
                    AND grade != 'RR'
                    GROUP BY grade
                )category
    
                LEFT JOIN        
    
                (        
                    SELECT grade,sum(qtty) as quantity,
                    CAST((sum(qtty)/(
                                SELECT sum(qtty) FROM mcs_cell2.mcs_stack_id_gen_combined
                                WHERE wo LIKE '%szb%'
                                AND (
                                        ((1065_move_in_time >= '".$POST_['datetimepicker']."'AND 1065_move_in_time < '".$POST_['datetimepicker1']."')AND grade !='A1')
                                        OR 
                                        ((1060_move_out_time >= '".$POST_['datetimepicker']."'AND 1060_move_out_time < '".$POST_['datetimepicker1']."')AND grade = 'A1')
                                    )
                                AND (status NOT LIKE 'terminate%'OR status IS NULL)
                                )* 100)as decimal (10,2)) as percentage
                    FROM mcs_cell2.mcs_stack_id_gen_combined
                    WHERE wo LIKE '%szb%'
                            AND
                            (
                                ((1065_move_in_time >= '".$POST_['datetimepicker']."' AND 1065_move_in_time < '".$POST_['datetimepicker1']."')AND grade != 'A1')
                                OR 
                                ((1060_move_out_time >= '".$POST_['datetimepicker']."' AND 1060_move_out_time < '".$POST_['datetimepicker1']."') AND grade = 'A1')
                            )
                            AND (status NOT LIKE 'terminate%'
                            OR status IS NULL)
                    GROUP BY grade
                )gradesum on category.grade = gradesum.grade
            )
    ";
    
    }
    
    
    
    $query=mysqli_query($cell2, $sqls) or die("read.php: get events1");
    $totalFiltered = mysqli_num_rows($query); // when there is a search parameter then we have to modify total number filtered rows as per search result.
    
    
    
    $sqls.=" ORDER BY ". $columns[$requestData['order'][0]['column']]."   ".$requestData['order'][0]['dir']."  LIMIT ".$requestData['start']." ,".$requestData['length']."   ";
    $query=mysqli_query($cell2, $sqls) or die("read.php: get events2");
    
    $data = array();
    while( $row=mysqli_fetch_array($query) ) {  // preparing an array
    $nestedData=array();
    
    $nestedData[] = $row["grade"];
    $nestedData[] = $row["quantity"];
    $nestedData[] = $row["percentage"];
    
    
    
    $data[] = $nestedData;
    }
    
    
    
    $json_data = array(
            "draw"            => intval( $requestData['draw'] ),  
            "recordsTotal"    => intval( $totalData ),  
            "recordsFiltered" => intval( $totalFiltered ), totalFiltered = totalData
            "data"            => $data   
    
    echo json_encode($json_data);
    
    $columns=数组(
    //datatable列索引=>数据库列名称
    0=>“等级”,
    1=>“数量”,
    2=>“百分比”
    );
    $sql=“选择category.grade作为等级,选择gradesum.quantity作为数量,选择gradesum.percentage作为百分比从”;
    如果($_POST[“is_date_search”]!=“yes”)
    {
    $currentdate=新日期时间(日期('Y-m-d H:i:s');
    $datenow=$currentdate->格式('Y-m-d');
    $timenow=$currentdate->format('H:i:s');
    $startdate=新日期时间(日期('Y-m-d H:i:s',标准时间('-1天',时间()));
    $DateDateDayed=$startdate->格式('Y-m-d');
    $timebeday=$startdate->format('H:i:s');
    如果($timenow>='07:30:00')
    {
    $timenow1='07:30:00';
    $finaldate=date($Y-m-d H:i:s',strottime($datenow$timenow1));
    }
    否则如果($timenow<'07:30:00')
    {
    $timenow2='07:30:00';
    $finaldate=date('Y-m-d H:i:s',strottime($datenow$timenow