Я пытаюсь нарисовать точки на моем холсте. количество точек, которые должны быть нарисованы на моем холсте, будет основываться на количестве строк в моей таблице базы данных, которое называется образцом. моя проблема в том, что я не получаю никакого вывода
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(), чтобы проверить, был ли мой запрос выполнен, но все же я не получаю никакого вывода
Ты не сможешь это сделать
var val = "<?php echo $result ?>";
все это будет интерпретироваться как простая строка, а не как php. Однако вы можете повторить строку javascript из вашего блока кода php выше, например:
<?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 JSON.stringify method
echo "var val = JSON.parse(".$json.");";
?>
alert(val); //this should work!