Javascript 我的图表数据有2个条件(无日期输入和有日期输入)未显示任何结果
目前我的代码有一些问题。共有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
<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();
如果(开始日期!=''和结束日期!='')
{
获取数据(“是”,开始日期,结束日期);
}
其他的
{
警报(“需要两个日期”);
}
});
});
$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