我正在尝试在画布上画点。应该在我的画布上绘制的点数将基于我的数据库表上的行数,该行被命名为sample。我的问题是我没有得到任何输出
function draw()
{
canvas = document.getElementById('canvas');
ctx = canvas.getContext('2d');
ctx.fillStyle = "black";
<?php
$conn = new mysqli("localhost", "root", "","login");
if ($conn -> connect_error) {
die($conn -> connect_error);
}
$query = "SELECT COUNT(1) FROM sample";
$result = mysqli_query($conn, $query);
?>
var val = "<?php echo $result ?>";
alert(val);
for(var i = 0; i < val; i++)
{
var x = Math.random()*500;
var y = Math.random()*300;
ctx.beginPath();
ctx.arc(x , y, 2, 0, 2 * Math.PI, false);
ctx.fill();
ctx.stroke();
ctx.closePath();
}
我已尝试放置alert()以查看我的查询是否已执行但仍未获得任何输出
答案 0 :(得分:0)
你不能这样做
var val = "<?php echo $result ?>";
整个事情将被解释为一个简单的字符串,而不是php。但是你可以从上面的php代码块中回显一行javascript,如下所示:
<?php
$conn = new mysqli("localhost", "root", "","login");
if ($conn -> connect_error) {
die($conn -> connect_error);
}
$query = "SELECT COUNT(1) FROM sample";
$result = mysqli_query($conn, $query);
$json = json_encode($result); // converts object to a json string, similar to Javascript's JSON.stringify method
echo "var val = JSON.parse(".$json.");";
?>
alert(val); //this should work!