我需要一些帮助,我将创建使用图表morris.js但我发现一些问题,当我在MongoDB的管道在PHP代码中使用detailIp
(如显示波纹管),但没有结果表明。我不知道为什么。 如何通过detailIp
这样它可以在php标签中使用? 感谢之前和遗憾,我的英语是如此糟糕:( 这里我的代码:如何通过javascript变量到PHP
<script>
$(document).on("click", ".open-detail", function() {
var detailIP = $(this).data('id');
document.getElementById("header_ip").innerHTML = "IP "+detailIP;
document.getElementById('ip').innerHTML =detailIP;
Morris.Area({
element: 'graph1',
behaveLikeLine: true,
data: [
<?php
ini_set('max_execution_time', 600);
ini_set('memory_limit', '2048M');
$m = new MongoClient("192.168.80.20");
$db= $m->blacklist;
$col=$db->score;
$cursor=$col->find(array("ip_blacklist"=>"'".detailIP."'"));
$detail_ip=array();
foreach ($cursor as $document) {
$detail_ip[]=$document;
}
$score=array();
$time=array();
for ($a=0; $a < sizeof($detail_ip); $a++) {
$score[]=$detail_ip[$a]["score"];
$time[]=date("Y-m-d H:i:s",$detail_ip[$a]["timestamp"]->sec);
}
for ($i=0; $i < sizeof($detail_ip) ; $i++) {
echo "{date:'".$time[$i]."',count:".$score[$i]."},";
}
?>
],
xkey: 'date',
ykeys: ['count'],
labels: ['Y']
});
if($('#graph1').find('svg').length > 1){
$('#graph1 svg:first').remove();
$(".morris-hover:last").remove();
}
});
</script>
阅读上如何Ajax的工作原理。 php只能在服务器上运行,而不能在浏览器上运行 – charlietfl
不要将'php'代码与'js'混合使用 - 这是一种不好的做法。您需要通过ajax发送'detailIP',然后从您的后端检索数据或从后端获取数据(仍然是ajax),并在javascript中对其进行修改。 –