Sql 我无法在d3中可视化数据
我正在学习D3,并尝试从数据库加载数据,并将其可视化到HTML页面上 我的PHP代码: 我的HTML代码: 我认为问题可能是JSON数据,其中“4”是字符串,而不是数字。因此,我将数据源[{COUNTJOB:4}]更改为[{COUNTJOB:4}]。但是,在HTML页面中,条形图仍然没有显示。我认为问题应该是javascript。我检查了每一个单词,但没有发现任何问题Sql 我无法在d3中可视化数据,sql,d3.js,Sql,D3.js,我正在学习D3,并尝试从数据库加载数据,并将其可视化到HTML页面上 我的PHP代码: 我的HTML代码: 我认为问题可能是JSON数据,其中“4”是字符串,而不是数字。因此,我将数据源[{COUNTJOB:4}]更改为[{COUNTJOB:4}]。但是,在HTML页面中,条形图仍然没有显示。我认为问题应该是javascript。我检查了每一个单词,但没有发现任何问题 顺便说一下。如果从connect.php加载数据,如何将字符串“4”转换为数字4?您的JSON将导致属性名COUNTJOB出现问
顺便说一下。如果从connect.php加载数据,如何将字符串“4”转换为数字4?您的JSON将导致属性名COUNTJOB出现问题。在这里: 这里您将作业传递给函数d.COUNT,但d.COUNT不是函数或数据的属性。这将生成一个错误并导致不绘制任何内容。相反,您可以称您的伯爵为:
SELECT COUNT(JOB) as jobcount ...
并使用d.jobcount访问它
其次,如果您使用的是d3v5或d3v6,那么您使用的d3.json就不正确。您使用的模式对d3v4及更早版本有效,但从d3v5起,您需要使用以下格式:
d3.json("connect.php").then(function (data) {
...
})
否则,您的javascript将正常工作:下面是一个javascript硬编码的工作示例,用于将数据放入代码段中:
var data=[{jobcount:4}]
var canvas=d3.selectbody.appendsvg
.宽度,500
.身高,500
canvas.selectAllrect
.数据
进来
.appendrect
.attrwidth,函数d{返回d.jobcount*100;}
.身高48
.attry,函数d,i{返回i*50;}
.黑色
如果您刚刚开始学习PHP,那么您应该学习PDO而不是mysqli。PDO更简单,更适合初学者。从这里开始&您需要.datadata而不是.attrdata。我现在检查并更正它。但是,它仍然无法工作。请在var canvas=…-之前尝试console.logdata你看到你的数据了吗?非常感谢。我终于跑起来了哈哈。我没有足够的声誉,所以我不能投票。但是你的回答很有帮助!
<script>
d3.json("connect.php",function (data) {
var canvas = d3.select("body").append("svg")
.attr("width", 500)
.attr("height", 500)
canvas.selectAll("rect")
.data(data)
.enter()
.append("rect")
.attr("width", function(d){ return d.COUNT(JOB) * 100;})
.attr("height",48)
.attr("y", function (d, i){ return i * 50;})
.attr("fill", "black")
})
</script>
function(d){ return d.COUNT(JOB) * 100;})
SELECT COUNT(JOB) as jobcount ...
d3.json("connect.php").then(function (data) {
...
})