如何将MySQL查询数据传递给JavaScript变量?

如何将MySQL查询数据传递给JavaScript变量?,javascript,php,Javascript,Php,这里我从mysql获取数据 if (!empty($result1)) { while ($row1 = mysqli_fetch_array($result1)) { $caseno = $row1['cases']; echo "<b>" . $caseno . "<br>"; } } 我更仔细地分析了您的代码,并注意到gaugevalue必须是一个整数数组,而您正试图向它传递一个DOM元素。因此,您的完整代码应该如下

这里我从mysql获取数据

if (!empty($result1)) {
    while ($row1 = mysqli_fetch_array($result1)) {
        $caseno = $row1['cases'];
        echo "<b>" . $caseno . "<br>";
    }
}

我更仔细地分析了您的代码,并注意到
gaugevalue
必须是一个整数数组,而您正试图向它传递一个DOM元素。因此,您的完整代码应该如下所示:

<?php
$gauge_values = [];
if (!empty($result1)) {
    while ($row1 = mysqli_fetch_array($result1)) {
        $gauge_values[] = $row1['cases'];
    }
}
?>

<script type="text/javascript">
    var myConfig2 = {
        "type": "gauge",
        "scale-r": {
            "aperture": 200, //Scale Range
            "values": "0:50:10" //and minimum, maximum, and step scale values.
        },
        "series": [{"values": <?php echo json_encode($gauge_values); ?>}]
    };

    zingchart.render({
        id: 'myChart',
        data: myConfig2,
        height: "90%",
        width: "90%"
    });
</script>

变量myConfig2={
“类型”:“量规”,
“比例-r”:{
“孔径”:200,//刻度范围
“值”:“0:50:10”//以及最小、最大和阶跃刻度值。
},
“系列”:[{“值”:}]
};
zingchart.render({
id:'我的图表',
数据来源:myConfig2,
身高:“90%”,
宽度:“90%”
});

我更仔细地分析了您的代码,并注意到
gaugevalue
必须是一个整数数组,而您正试图向它传递DOM元素。因此,您的完整代码应该如下所示:

<?php
$gauge_values = [];
if (!empty($result1)) {
    while ($row1 = mysqli_fetch_array($result1)) {
        $gauge_values[] = $row1['cases'];
    }
}
?>

<script type="text/javascript">
    var myConfig2 = {
        "type": "gauge",
        "scale-r": {
            "aperture": 200, //Scale Range
            "values": "0:50:10" //and minimum, maximum, and step scale values.
        },
        "series": [{"values": <?php echo json_encode($gauge_values); ?>}]
    };

    zingchart.render({
        id: 'myChart',
        data: myConfig2,
        height: "90%",
        width: "90%"
    });
</script>

变量myConfig2={
“类型”:“量规”,
“比例-r”:{
“孔径”:200,//刻度范围
“值”:“0:50:10”//以及最小、最大和阶跃刻度值。
},
“系列”:[{“值”:}]
};
zingchart.render({
id:'我的图表',
数据来源:myConfig2,
身高:“90%”,
宽度:“90%”
});

将JavaScript放在php中:

<?php
echo "
<script type="text/javascript">
    var gaugevalue = document.getElementById("$caseno");
    var myConfig2 = {
    "type":"gauge",
    "scale-r":{
    "aperture":200, //Scale Range
    "values":"0:50:10" //and minimum, maximum, and step scale values.
    },
    "series":[{"values":[gaugevalue]}]
    //"series":[{"values":[40]}]

    };

    zingchart.render({ 
    id : 'myChart', 
    data : myConfig2, 
    height : "90%", 
    width: "90%"
    });

</script>
"
?>

将JavaScript放在php中:

<?php
echo "
<script type="text/javascript">
    var gaugevalue = document.getElementById("$caseno");
    var myConfig2 = {
    "type":"gauge",
    "scale-r":{
    "aperture":200, //Scale Range
    "values":"0:50:10" //and minimum, maximum, and step scale values.
    },
    "series":[{"values":[gaugevalue]}]
    //"series":[{"values":[40]}]

    };

    zingchart.render({ 
    id : 'myChart', 
    data : myConfig2, 
    height : "90%", 
    width: "90%"
    });

</script>
"
?>

第一种方法:

在php代码中,您可以执行以下操作:

$caseno = $row1['cases'];
var gaugevalue = "<?php echo $caseno ?>";
echo '<input type="hidden" id="caseno" value="'.$caseno.'">';
var gaugevalue = document.getElementById("caseno");
在javascript代码中,您可以执行以下操作:

$caseno = $row1['cases'];
var gaugevalue = "<?php echo $caseno ?>";
echo '<input type="hidden" id="caseno" value="'.$caseno.'">';
var gaugevalue = document.getElementById("caseno");

它简单易行。

第一种方法:

在php代码中,您可以执行以下操作:

$caseno = $row1['cases'];
var gaugevalue = "<?php echo $caseno ?>";
echo '<input type="hidden" id="caseno" value="'.$caseno.'">';
var gaugevalue = document.getElementById("caseno");
在javascript代码中,您可以执行以下操作:

$caseno = $row1['cases'];
var gaugevalue = "<?php echo $caseno ?>";
echo '<input type="hidden" id="caseno" value="'.$caseno.'">';
var gaugevalue = document.getElementById("caseno");
它简单易行。

试试这种方法:

<script type="text/javascript">
    var gaugevalue = "<?php echo $caseno ?>";
    var gaugevalue = "<?= echo $caseno ?>"; //for shorthand
</script>

var gaugevalue=“”;
var gaugevalue=“”//速记
请尝试以下方法:

<script type="text/javascript">
    var gaugevalue = "<?php echo $caseno ?>";
    var gaugevalue = "<?= echo $caseno ?>"; //for shorthand
</script>

var gaugevalue=“”;
var gaugevalue=“”//速记

感谢Victor的重播,但它仍然不起作用。抱歉,我没有注意到您没有具有此类标识符的元素。因此,请检查我的更新。
gaugevalue
必须是一个整数数组,而不是单个的
$caseno
。我更新了我的答案。感谢Victor的重播,但它仍然不起作用。抱歉,我没有注意到您没有具有此标识符的元素。因此,请检查我的更新。
gaugevalue
必须是一个整数数组,而不是单个的
$caseno
。我更新了我的答案。多亏了YKAM,我得到了解析错误:语法错误,意外的T_字符串,期望',通过更改JavaScript代码中的双QOUTS来转义字符串以使其工作。多亏了YKAM,我得到了解析错误:语法错误,意外的T_字符串,期望',通过更改JavaScript代码中的双qoutes来转义字符串,以使其正常工作。感谢Inzamam提供的帮助。。我已经根据你的代码修改了,仍然不工作。你是在同一个文件中编码还是在不同的文件中编码?请详细说明这一点?感谢Inzamam的帮助。。我已经根据你的代码修改了,仍然不工作。你是在同一个文件中编码还是在不同的文件中编码?请详细说明这一点?