php生成json数组然后javascript将其显示出来

标签 php jquery mysql jsonp


我正在使用 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表结构:
表名称:users
名称、链接、电子邮件

如何从用户表中获取包含姓名、链接和电子邮件的所有行并将其放入 JSON 数组中。
我如何使用 javascript(jquery) 显示它? 是否使用了javascript中的for函数

最佳答案

在 PHP 中打印 JSON 数组:

$query = mysql_query("SELECT * FROM ".$tbname."");
$rows = array();
while($r = mysql_fetch_assoc($query)) {
   $rows[] = $r;
}
print json_encode($rows);

在 jQuery 中捕获并循环结果:

    $.getJSON(domain_path + 'generate.php?table=' +  tbname + '&callback=?', function(data) {
         $.each(data, function() {
           $.each(this, function(k, v) {
           /// do stuff
           });
         });
    });

首先,每个循环都会遍历您的行/对象;第二个循环遍历您的属性/列。

关于php生成json数组然后javascript将其显示出来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9989289/

相关文章:

php - 有限空间内的文本无限制,无换行

php - 构建数据库,为用户记录大量动态数据

php - SQL 字符串正确但 fetchAll 为空

php - 自动将具有值的新行添加到从 mysql 生成的 csv 文件

javascript - 如何根据屏幕宽度调用函数?

php - 从数据库回显数据时使用 PHP 变量

php - 具有持久连接的最后一个 ID

javascript - 将命令从 php 重写为 javascript

php - 导航栏引导菜单未在移动设备中显示

jquery - 使用 jquery 设置 div 高度(拉伸(stretch) div 高度)