使用JavaScript从数据库更新JSON

喀麦隆

目的:用户单击一个按钮,从数据库中检索json的最新记录,并将绿色状态更新为1

到目前为止,这里我所拥有的一切,所有代码都在一个文件中index.php

php代码

$sql = "SELECT json FROM `smartlight` ORDER BY timestamp desc limit 1";
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . mysqli_error($connection));

//create an array
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
    $emparray[] = $row;
}

然后html

<a href="#" class="btn btn-default" onclick="myFunction()">More Options</a>

然后用javascript

<script type="text/javascript">
function myFunction(){

    var emparray = <?php echo json_encode($emparray) ?>;

    console.log ( emparray );

    for (var i=0; i<emparray.length; i++) {
        if (emparray[i].device == "greenled") {
                emparray[i].state= "1";
            break;
        }
    }

    console.log ( emparray );

}

</script>

两个console.log都会产生相同的结果...

"{"smartdevices":[{"device":"greenled", "state":"0"},{"device":"redled", "state":"1"}]}"

是因为在我的JavaScript代码中,我试图通过某种尚未处于正确状态的循环来循环吗?

提前致谢

console.log(emparray);

擎天柱犯罪

数据库中的内容是一个字符串。您需要先对字符串进行解码,以便在运行时对整个PHP数组进行求值json_encode

首先,如下更改您的PHP代码:

//create an array
$emparray = array();
while($row =mysqli_fetch_assoc($result))
{
    // Decode the string here
    $emparray[] = json_decode($row['json']);
}

现在,您需要循环外部数组,然后循环内部代码。

像这样的东西:

// Loop the outer array (each part of $row)
for (var i = 0; i < emparray.length; i++) {
    // Loop each part of the 'smartdevices' array
    for (var j = 0; j < emparray[i]['smartdevices'].length; j++) {
        if (emparray[i]['smartdevices'][j]['device'] == "greenled") {
            emparray[i]['smartdevices'][j]['state'] = "1";
            break;
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用javascript变量更新数据库

来自分类Dev

使用javascript更新数据库值

来自分类Dev

使用SQLAlchemy,如何仅使用json更新数据库?

来自分类Dev

使用JSON和PHP更新数据库(Android)

来自分类Dev

使用JSON和PHP更新数据库(Android)

来自分类Dev

使用JavaScript以JSON格式从数据库返回DateTime

来自分类Dev

如何使用JavaScript访问JSON数据库

来自分类Dev

通过javascript更新Django数据库

来自分类Dev

无法使用 jQuery Ajax Bootstrap 模型从数据库中获取更新数据的值 - json 数据

来自分类Dev

如何使用DataRow更新数据库?

来自分类Dev

使用Java从onClick更新数据库

来自分类Dev

使用变量更新数据库表

来自分类Dev

使用循环更新数据库表

来自分类Dev

使用AJAX表单更新数据库

来自分类Dev

使用MYSQLi更新数据库

来自分类Dev

使用Laravel更新数据库

来自分类Dev

使用php更新sql数据库

来自分类Dev

使用Codeigniter更新mysql数据库

来自分类Dev

使用 post() 更新数据库

来自分类Dev

使用 BeautifulSoup 更新 Django 数据库

来自分类Dev

使用 SwipeRefresh 从数据库更新 RecyclerView

来自分类Dev

使用变量更新 joomla 数据库

来自分类Dev

使用值范围更新数据库

来自分类Dev

每隔几秒钟使用JSON数据更新数据库的后台进程

来自分类Dev

更新外部JSON时Muzei数据库不会更新

来自分类Dev

iOS:从JSON更新核心数据数据库

来自分类Dev

iOS:从JSON更新核心数据数据库

来自分类Dev

更新存储在数据库中的JSON数据

来自分类Dev

使用JSON Jquery的数据库