从MySQL表

时间:2017-07-17 12:04:39

标签: javascript php mysql object

假设我有这张表mytable

id | name | x | y

我从mytable中提取行并使用它创建JavaScript对象:

PHP

$sql = "SELECT * FROM mytable";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {  
        echo '<script type="text/javascript">';
        echo "new Object({$row["id"]}, '{$row["name"]}', {$row["desk_x"]}, {$row["desk_y"]});";
        echo '</script>';            
    }
}

JS

function Object(id, name, x, y) {
    var obj = {
        id:id, 
        name:name, 
        x:x, 
        y:y
    };
}

目前这很好,但我们想要将color添加到mytable

基本上我问我在PHP和JS中用什么来动态创建这个对象,所以你可以有任何列,而Object对象只会添加一个带有列名的新属性? / p>

2 个答案:

答案 0 :(得分:2)

您可以使用AJAX将数据从服务器端发送到客户端。假设您有一个名为PHP的{​​{1}}文件,其中包含您的代码:

script.php

然后假设您有一个名为if(isset($_GET['action']) && $_GET['action'] == 'testing'){ $sql = "SELECT * FROM mytable"; $result = $conn->query($sql); if ($result->num_rows > 0) { echo json_encode($result); } } 的{​​{1}}文件。在这里,您将对JS脚本文件进行script.js调用,如下所示:

AJAX

答案 1 :(得分:1)

我猜你正在寻找的是如何在没有AJAX的情况下做到这一点(你在这里真的不需要)。

将对象放在数组中,然后输出JS变量:

PHP:

$("#table-data").load("fetch-data.php", function () {
    $('#table-data .col1').editable({
        //...
    });
});