【发布时间】:2012-04-16 20:56:22
【问题描述】:
我正在使用 JSON 向我的服务器发送数据和从我的服务器发送数据,但通常我一次发送一个数据,现在我想:
从表中检索所有行(mysql 数据库)-> php 将其放入 JSON 数组 + 回调中 ---> javascript 将其检索并通过循环数据显示出来。
这是我的 javascript(jQuery):
$.getJSON(domain_path + 'generate.php?table=' + tbname + '&callback=?', function(data) {
});
如您所见,这有 table= 表名。这是为了让 php 知道从哪个表中提取数据。
但是对于 php 部分,我不确定使用什么来生成 JSONP 数组。
<?php
//connects to database
include 'connect.php';
$tbname = mysql_real_escape_string($_GET['table']);
$callback = $_GET['callback'];
//some mysql commands
//after mysql commands
//i would use this to output data but this is only for one line of data.
$output = array('error'=>'0');
$out_string = json_encode($output);
echo $callback.'('.$out_string.');';
?>
Mysql表结构:
表名:用户
姓名、链接、邮箱
如何从包含用户名、链接和电子邮件的用户表中获取所有行并将其输出到 JSON 数组中。
我将如何使用 javascript(jquery) 显示它?
是不是在javascript中使用for函数
【问题讨论】:
-
您确定要输出 JSON P 吗?从您的 Javascript 调用看来,您需要常规的 JSON。
-
mysql_real_escape_string()对于转义对象名称(如表或列名称)是无用的。如果你在查询中用反引号`引用它,如果strpos($_GET['table'], '`') !== FALSE则出错,那么你应该是相当安全的。