简体   繁体   English

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

[英]How to pass MySQL query data to JavaScript variable?

Here am getting data from mysql.. 这里是从mysql获取数据。

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

and i want pass the data which is there in $caseno to my below JavaScript.. 我想将$caseno的数据传递给下面的JavaScript。

<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>

I analyzed your code more attentively and noticed that gaugevalue must be an array of integers, while you are trying to pass to it a DOM element. 我更加专心地分析了您的代码,发现在您尝试将DOM元素传递给它时, gaugevalue必须是整数数组。 So your full code should look like this: 因此,您的完整代码应如下所示:

<?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>

Try this way instead: 请尝试这种方式:

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

1st Method: 第一种方法:

In your php code, you can do: 在您的php代码中,您可以执行以下操作:

$caseno = $row1['cases'];

In your javascript code, you can do: 在您的JavaScript代码中,您可以执行以下操作:

var gaugevalue = "<?php echo $caseno ?>";

2nd Method: 第二种方法:

In your php code, you can do: 在您的php代码中,您可以执行以下操作:

echo '<input type="hidden" id="caseno" value="'.$caseno.'">';

In your javascript code, you can do: 在您的JavaScript代码中,您可以执行以下操作:

var gaugevalue = document.getElementById("caseno");

It's simple and easy. 这很简单。

put you JavaScript in php: 把你的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>
"
?>

You can pass your variable like this. 您可以像这样传递变量。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM