2013-10-24 56 views
-1

如何使用JSON打印出while循環中的數據?php/json - 打印出循環中的json php

目前,我有這樣的message.php

 <script type="text/javascript"> 
     $('#pmid<?php echo $convoData['id']; ?>').click(function(){ 
      $.ajax({ 
       type:"GET", 
       url: "/index.php?i=pm&p=rr", 
       dataType:'json', 
       data: {id:"<?php echo $convoData['id']; ?>"}, 
       success : function(res){ 
        if(res){ 
        $("#name").html(res.name); 
        $("#post").html(res.response); 
        } 
       } 
      }); 
      }); 

     </script> 
<span id="name"></span> 
       <ul id="post"> 

       </ul> 

而在get.php文件,我有這樣的:

$name=$getUser['username']; 



while($postData=mysql_fetch_assoc($postsql)){ 
$post = '<li> 
    <img width="30" height="30" src="images/avatar-male.jpg"> 
    <div class="bubble"> 
    <a class="user-name" href="">123</a> 
    <p class="message"> 
     '.$postData['text'].' 
    </p> 
    <p class="time"> 

    </p> 
    </div> 
</li>'; 
} 

$arrRet = array(); 
$arrRet['name'] = $name; 
$arrRet['post'] = $post; 
echo json_encode($arrRet); 
die(); 

到目前爲止,$ name的值是否正常。我可以打印出#name。我只是無法弄清楚如何打印出$後while循環#post

+4

如果你要downvote你能做的就是發表評論,並解釋自己要去哪裏錯了OP最少的! – Paddyd

+0

@Paddyd,我在另一個SO組中提出了這個問題。我因爲存在而被低估了,唯一的解釋是,下流者喜歡匿名,並且不會提供任何幫助。 – jeff

回答

0

您需要與此

然後添加你的MySQL結果到一個數組,然後使JSON在JavaScript代碼,你將打印數據(後)與用於/ foreach循環

Get.php應該是這樣的:

$name=$getUser['username']; 

$result = array(); 

while($postData=mysql_fetch_assoc($postsql)){ 
    $result[] = $postData['text']; 
} 

$arrRet = array(); 
$arrRet['name'] = $name; 
$arrRet['post'] = $result; 
echo json_encode($arrRet); 
die(); 

message.php

 <script type="text/javascript"> 
     $('#pmid<?php echo $convoData['id']; ?>').click(function(){ 
      $.ajax({ 
       type:"GET", 
       url: "/index.php?i=pm&p=rr", 
       dataType:'json', 
       data: {id:"<?php echo $convoData['id']; ?>"}, 
       success : function(res){ 
        if(res){ 
        $("#name").html(res.name); 
        var posts = res.post; 

        for(var i in posts) 
        { 
         var post = '<li><img width="30" height="30" src="images/avatar-male.jpg"><div class="bubble"> 
            <a class="user-name" href="">123</a><p class="message">' 
            + posts[i] + 
            '</p><p class="time"></p></div></li>'; 
         $("#post").append(post); 
        } 

        } 
       } 
      }); 
      }); 

     </script> 
<span id="name"></span> 
     <ul id="post"> 

     </ul> 

好運