Google可视化PHP和Javascript
我正在创建一个图表,使用while循环从mysql查询中获取变量 我试图将html添加到第一列,这导致了以下问题:[object]不符合控件或可视化规范 因此,表显示正确,但我的类别筛选器现在抛出此错误。有人能看看我的代码,看看我遗漏了什么吗?谢谢 这是我的密码:Google可视化PHP和Javascript,javascript,php,google-visualization,Javascript,Php,Google Visualization,我正在创建一个图表,使用while循环从mysql查询中获取变量 我试图将html添加到第一列,这导致了以下问题:[object]不符合控件或可视化规范 因此,表显示正确,但我的类别筛选器现在抛出此错误。有人能看看我的代码,看看我遗漏了什么吗?谢谢 这是我的密码: echo "<script type='text/javascript' src='https://www.google.com/jsapi'></script> <body> &
echo "<script type='text/javascript' src='https://www.google.com/jsapi'></script>
<body>
<br><br>
<div id='dashboard'>
<div style='float:left;' id='control1'></div>
<div style='float:left;' id='control2'></div>
<div style='float:left;' id='control4'></div>
<br><br>
<div style='float:left;' id='control3'></div>
<div style='float:left;' id='control5'></div>
<br><br>
<div id='table'></div>
</div>
</body>";
echo "<script>
google.load('visualization', '1.0', {packages:['corechart', 'table', 'controls']});
google.setOnLoadCallback(drawChart);
function drawChart()
{
var data = new google.visualization.DataTable();
data.addColumn('string', 'Save');
data.addColumn('string', 'School');
data.addColumn('string', 'State');
data.addColumn('string', 'Scholarship Type');
data.addColumn('string', 'Scholarship Amount');
data.addColumn('string', 'For International');";
while ($schools = mysql_fetch_row($schoolsearch)) {
$schoolnames = str_replace(array('.', ',', "'"), '' , $schools[2]);
echo "data.addRows([
['<input type=\"checkbox\">', '$schoolnames', '$schools[1]', '$schools[6]', '$schools[5]', '$schools[7]'],
]);";
}
echo "var name_filter = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control1',
'options': {
'filterColumnLabel': 'School',
}
});
var state_filter = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control2',
'options': {
'filterColumnLabel': 'State',
}
});
var scholarshiptype_filter = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control3',
'options': {
'filterColumnLabel': 'Scholarship Type',
}
});
var scholarshipamount_filter = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control4',
'options': {
'filterColumnLabel': 'Scholarship Amount',
}
});
var international_filter = new google.visualization.ControlWrapper({
'controlType': 'CategoryFilter',
'containerId': 'control5',
'options': {
'filterColumnLabel': 'For International',
}
});
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'table',
});
var table = new google.visualization.Table(document.getElementById('table'));
table.draw(data, {
allowHtml:true,
});
var dashboard = new google.visualization.Dashboard(document.getElementById('dashboard'));
dashboard.bind([name_filter, state_filter, scholarshiptype_filter, scholarshipamount_filter, international_filter], [table]);
dashboard.draw(data);
}
</script>
echo”
";
回声“
load('visualization','1.0',{packages:['corechart','table','controls']});
setOnLoadCallback(drawChart);
函数绘图图()
{
var data=new google.visualization.DataTable();
data.addColumn('string','Save');
data.addColumn('string','School');
data.addColumn('string','State');
data.addColumn('string','Scholarship Type');
data.addColumn('字符串','奖学金金额');
data.addColumn('string','For International');“;
while($schools=mysql\u fetch\u row($schoolsearch)){
$schoolnames=str_replace(数组(“.”、“.”、“.”、“.”、”、$schools[2]);
echo“data.addRows”([
[“$schoolnames”、“$schools[1]”、“$schools[6]”、“$schools[5]”、“$schools[7]”,
]);";
}
echo“var name_filter=new google.visualization.ControlWrapper({
“controlType”:“CategoryFilter”,
“containerId”:“control1”,
“选项”:{
“filterColumnLabel”:“学校”,
}
});
var state_filter=new google.visualization.ControlWrapper({
“controlType”:“CategoryFilter”,
“containerId”:“control2”,
“选项”:{
'filterColumnLabel':'State',
}
});
var scholarshiptype_filter=new google.visualization.ControlWrapper({
“controlType”:“CategoryFilter”,
“containerId”:“control3”,
“选项”:{
“filterColumnLabel”:“奖学金类型”,
}
});
var scholarshipmount\u filter=新的google.visualization.ControlWrapper({
“controlType”:“CategoryFilter”,
“containerId”:“control4”,
“选项”:{
“filterColumnLabel”:“奖学金金额”,
}
});
var international_filter=新的google.visualization.ControlWrapper({
“controlType”:“CategoryFilter”,
“containerId”:“control5”,
“选项”:{
'filterColumnLabel':'For International',
}
});
var table=new google.visualization.ChartWrapper({
“图表类型”:“表格”,
“containerId”:“表”,
});
var table=new google.visualization.table(document.getElementById('table');
表.绘制(数据、{
allowHtml:是的,
});
var dashboard=new google.visualization.dashboard(document.getElementById('dashboard');
dashboard.bind([name_filter,state_filter,scholarshiptype_filter,scholarshipamount_filter,international_filter],[table]);
仪表盘.绘图(数据);
}
我可以通过将allowHtml放在如下选项中来解决此问题:
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'table',
options: {
allowHtml: true
},
});
我可以通过将allowHtml放在如下选项中来解决此问题:
var table = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'table',
options: {
allowHtml: true
},
});
另一个选项,它可能工作得更好,这取决于您是否希望过滤器处理html或它表示的值 数据表中的每个单元格都有一个值(v:)和一个格式化值(f:) 您可以使用html的格式化值 你在哪里
echo "data.addRows([
['<input type=\"checkbox\">', '$schoolnames', '$schools[1]', '$schools[6]', '$schools[5]', '$schools[7]'],
]);";
echo”data.addRows([
[“$schoolnames”、“$schools[1]”、“$schools[6]”、“$schools[5]”、“$schools[7]”,
]);";
试试看
echo "data.addRows([
[{v: '', f: '<input type=\"checkbox\">'}, '$schoolnames', '$schools[1]', '$schools[6]', '$schools[5]', '$schools[7]'],
]);";
echo”data.addRows([
[{v:'',f:''},'$schoolnames','$schools[1]','$schools[6]','$schools[5]','$schools[7]'],
]);";
另一个选项可能会更好,具体取决于您是否希望过滤器处理html或它表示的值
数据表中的每个单元格都有一个值(v:)和一个格式化值(f:)
您可以使用html的格式化值
你在哪里
echo "data.addRows([
['<input type=\"checkbox\">', '$schoolnames', '$schools[1]', '$schools[6]', '$schools[5]', '$schools[7]'],
]);";
echo”data.addRows([
[“$schoolnames”、“$schools[1]”、“$schools[6]”、“$schools[5]”、“$schools[7]”,
]);";
试试看
echo "data.addRows([
[{v: '', f: '<input type=\"checkbox\">'}, '$schoolnames', '$schools[1]', '$schools[6]', '$schools[5]', '$schools[7]'],
]);";
echo”data.addRows([
[{v:'',f:''},'$schoolnames','$schools[1]','$schools[6]','$schools[5]','$schools[7]'],
]);";