在单个数据字段中将FLOT数据存储在MYSQL中

时间:2014-06-25 21:39:20

标签: javascript jquery mysql flot

此代码有效如果您尝试将javascript数组/对象存储在mysql数据库的单个字段中,我终于弄明白了:不需要json_ecode / decode函数。无需在php中加载多维数组。只需使用 JSON.stringify。

    <script>
$(function() {
    document.getElementById("send").onclick = function () {
        var amps=[];
        var i = 0;
        while(i<10){
            var rand1 = (Math.round(Math.random()*100))/100;
            var rand2 = (Math.round(Math.random()*100))/100;
            amps.push([rand1, rand2]);
            i = i + 1;
        }
        console.log(amps);
        amps = JSON.stringify(amps);
        var therun = 'data='+amps;
        alert(therun);
        $.ajax({
            type: "POST",
            url: "query.php",
            data: therun,
            cache: false,
            success: function(data) {alert(data);}
        });
    };
});
</script>

然后在Query.php上

<?php

$username="root";
$password="";
$database="amt";

mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Unable to select database");

$encoded = $_POST['data'];

if(isset($_POST['data'])){

$sql="INSERT INTO `amt`.`jsontest` (`id`, `jsonobject`) VALUES (NULL, '".$encoded."');";
$query=mysql_query($sql);

}

?>

最后一步是将其拉出来。请不要开玩笑。 ;)

<script>
$(function() {
    <?php
    echo "var amps = ".$mysqldata.";\n";
    ?>
        $.plot("#placeholder", [ amps ], {});
});
</script>

希望这对那些试图像我一样使用FLOT的人有所帮助。 :)如果你有一个更有效的方法来做到这一点,请告诉我。

0 个答案:

没有答案