1

このファイルは ajax リクエストによって呼び出されます。ここに来る結果と、呼び出し関数の 2 つの異なる場所に入れたいと思います。

<?php


//Some processing gives $text 
$s=nl2br($text);

        $data['x'] = $p;
        $data['y'] = $q;

//Start from here

    echo "<b>Positive count : $x with $p % </b>";  echo "</br>";
    echo "<b>Negative count  : $y with $q % </b>"; echo "</br>";
    echo "</br>";
    echo "Page content : ";
    echo "</br>";
    echo "</br>";
    echo $s;
//End. This content should be place in <div1>. Want to send this as a json string

//Start from here
    echo "First 5 post";
    $result = mysqli_query($con,"select post from facebook_posts where p_id >  (select MAX(p_id) - 5 from facebook_posts)");
    while ($row = $result->fetch_array(MYSQLI_ASSOC))
    {
      echo $row['post'];
      echo '<br/>';
    }
//End. This content should be placed in <div2> Want to send this as a json string

単一の変数がある場合は、次を使用して簡単に実行できます。

$resultArray = array("resultOne" => $result1,"resultTwo" => $result2);
echo json_encode($resultArray);

受信側:

document.getElementById("myFirstDiv").innerHTML=xmlhttp.responseText.resultOne;
document.getElementById("mySecondDiv").innerHTML=xmlhttp.responseText.resultTwo;

しかし、上記の複雑な結果を json 変数に配置するにはどうすればよいでしょうか?

4

1 に答える 1

1

PHP で出力バッファリングを使用できます。

ob_start();
// Generate content for div 1...
$div1 = ob_get_clean();

ob_start();
// Generate content for div 2...
$div2 = ob_get_clean();

$result = array("div1" => $div1, "div2" => $div2);
echo json_encode($result);
于 2013-10-26T18:17:49.813 に答える