【问题标题】:How can I send looped data via json?如何通过 json 发送循环数据?
【发布时间】:2017-09-18 16:53:48
【问题描述】:

我通过 json 发送数据。它运行良好:

    $.ajax({
        url: "json.php",
        type: "POST",
        dataType: "json",
        encode: true,
        data: {},
        success: function (data) {
            $(".blue").html(data.blue);
            $(".red").html(data.red);
        }
    });

json.php

$array['blue'] = "blue array";
$array['red'] = "red content";
echo json_encode($array);

我现在的问题是,而不是..

blue array

...我要发送:

$pdo = $db->query('SELECT * FROM data;');
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
    echo  "<li>".$row['name']."</li>";
}

这可能吗?

【问题讨论】:

  • 不要使用回声。取而代之的是,直接将这些 html 标记作为字符串分配给$array['blue']。类似$array['blue'].="&lt;li&gt;".$row['name']."&lt;/li&gt;";
  • @siddiq 谢谢,我更新了我的问题以表明我的内容更复杂。在这种情况下我该怎么办?
  • 不管你的字符串有多大。仍然整个输出 ' 将被视为一个字符串。只需按照我之前的评论将其分配给变量即可。检查link这个来分配一个大的html内容

标签: php json ajax loops foreach


【解决方案1】:

这是一个非常基本的例子:

<?php
$json = array(
    'blue' => '',
    'red' => 'Empty red content or whatever'
);

$pdo = $db->query('SELECT * FROM data;');
while ($row = $pdo->fetch(PDO::FETCH_ASSOC)) {
    $json['blue'].= "<li>".$row['name']."</li>";
}

echo json_encode($json);

不确定您将使用什么逻辑来实际填充 red,但您可以将其用于 while 循环或其他任何内容。

【讨论】:

  • 谢谢,我会检查一下,如果它有效,请告诉你
  • 红色不应该在循环中!
  • @Jarla 这只是一个猜测。您可以根据需要修改代码。查看我的更新。
猜你喜欢
  • 1970-01-01
  • 2020-01-12
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 2015-10-12
  • 1970-01-01
相关资源
最近更新 更多