从MySQL表动态创建JavaScript对象
假设我有这个表从MySQL表动态创建JavaScript对象,javascript,php,mysql,object,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
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>';
}
}
目前这还可以,但假设我想在mytable
中添加另一列color
基本上,我是在问我应该用PHP和JS写些什么来动态创建这个对象,这样你就可以有任何列,而
对象将只添加一个列名称的新属性?你可以使用AJAX
将数据从服务器端发送到客户端。假设您的代码中有一个名为script.PHP
的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);
}
}
假设您有一个名为script.JS
的JS
文件。在这里,您将对PHP
脚本文件执行AJAX
调用,如下所示:
$.ajax({
type: 'GET',
url: 'script.php',
data: { action: 'testing' },
success: function(response){
console.log(response); //here you will have access to the object returned from the PHP script
}
})
您可以使用AJAX
将数据从服务器端发送到客户端。假设您的代码中有一个名为script.PHP
的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);
}
}
假设您有一个名为script.JS
的JS
文件。在这里,您将对PHP
脚本文件执行AJAX
调用,如下所示:
$.ajax({
type: 'GET',
url: 'script.php',
data: { action: 'testing' },
success: function(response){
console.log(response); //here you will have access to the object returned from the PHP script
}
})
我想您需要的是如何在没有AJAX的情况下实现这一点(这里您并不真正需要AJAX)
将对象放入数组中,然后输出JS变量:
PHP:
$rows=[];
如果($result->num\u行)
而($row=$result->fetch_assoc())$rows[]=$row;//附加到数组
echo“var objArray=”。json_编码($rows)。"; ";
我想您想要的是如何在没有AJAX的情况下做到这一点(这里您并不真正需要AJAX)
将对象放入数组中,然后输出JS变量:
PHP:
$rows=[];
如果($result->num\u行)
而($row=$result->fetch_assoc())$rows[]=$row;//附加到数组
echo“var objArray=”。json_编码($rows)。"; ";
我正在寻找一种方法,从表中获取列,并生成一个具有相同属性的java脚本对象。我的答案中的代码应该满足您的需要。控制台正在打印我的整个index.php文件。这取决于php
文件中的内容。这应该只是我刚才添加到答案中的代码的一部分。或者您可以检查$\u GET
请求。@AdamStück,请检查我的答案中更新的代码。我正在寻找一种从表中获取列并生成具有相同属性的java脚本对象的方法。我的答案中的代码应该满足您的需要。控制台正在打印我的整个index.php文件。这取决于php
文件中的内容。这应该只是我刚才添加到答案中的代码的一部分。或者您可以检查$\u GET
请求。@AdamStück,请检查我的答案中更新的代码。如果AJAX更好,您将如何使用它?听起来好像您不知道AJAX是什么/做什么。你没有说你是否试过我的密码。我试过你的代码,但如果AJAX是更好的选择,你能告诉我你会写什么吗?我尝试了上面@Ionut中的AJAX代码,但效果不好。顺便说一下,我已经在使用AJAX更新数据库中的数据了。我不知道AJAX是不是更好的选择,或者你是否需要它。很抱歉,我很难估计你的知识水平,我也不知道你还需要多少信息(这不是一所初级编码学校)。要求我将代码转换为AJAX意味着你不知道如何使用它,而这个问题(或网站)不是学习如何使用AJAX的地方。如果AJAX更好,你会如何使用它?听起来好像你不知道AJAX是什么/做什么。你没有说你是否试过我的密码。我试过你的代码,但如果AJAX是更好的选择,你能告诉我你会写什么吗?我尝试了上面@Ionut中的AJAX代码,但效果不好。顺便说一下,我已经在使用AJAX更新数据库中的数据了。我不知道AJAX是不是更好的选择,或者你是否需要它。很抱歉,我很难估计你的知识水平,我也不知道你还需要多少信息(这不是一所初级编码学校)。要求我将代码转换为AJAX意味着你不知道如何使用它,而这个问题(或网站)不是学习如何使用AJAX的地方。不要调用你的函数对象<代码>对象
已存在,您将覆盖该对象,从而无法访问原始的对象
。而且,Object
对于构造函数来说并不是一个真正的表达性名称,是吗?我知道。这是一个不是我实际代码的示例。不要调用你的函数对象
<代码>对象
已存在,您将覆盖该对象,从而无法访问原始的对象
。而且,Object
对于构造函数来说并不是一个真正的表达性名称,是吗?我知道。这是一个示例,不是我的实际代码。