Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过json发送循环数据?_Php_Json_Ajax_Loops_Foreach - Fatal编程技术网

Php 如何通过json发送循环数据?

Php 如何通过json发送循环数据?,php,json,ajax,loops,foreach,Php,Json,Ajax,Loops,Foreach,我通过json发送数据。它运行良好: $.ajax({ url: "json.php", type: "POST", dataType: "json", encode: true, data: {}, success: function (data) { $(".blue").html(data.blue); $(".red").html(dat

我通过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>";
}
$pdo=$db->query('SELECT*FROM data;');
而($row=$pdo->fetch(pdo::fetch_ASSOC)){
回显“
  • ”$row['name']。“
  • ”; }

    这可能吗?

    这里有一个非常基本的例子:

    <?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);
    

    不要使用echo。相反,直接将这些html标记作为字符串分配给
    $array['blue']
    。类似于
    $array['blue'].=“
  • ”$row['name']”之类的内容。
  • @siddiq谢谢,我更新了我的问题,以显示我的内容更复杂。在这种情况下我能做什么?不管你的绳子有多大。但整个输出仍将被视为一个字符串。只需按照我之前的注释将其分配给变量。选中此项可分配一个大的html内容谢谢,我将检查此项并让您知道它是否有效,是否不应在循环中@贾拉:这只是猜测。您可以随意修改代码。查看我的更新。