2013-10-24 4 views
-1

Как распечатать данные из цикла while с помощью JSON?php/json - распечатать json php while loop

В настоящее время у меня есть это в 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. Я просто не могу понять, как распечатать $ поста в то время как петля для #post

+4

Если вы собираетесь downvote крайней мере, вы можете сделать, это оставить комментарий и объяснить ОП, куда он идет не так! – Paddyd

+0

@ Паддид, я предложил это в другой группе SO. Я был исключен из существования, и единственное объяснение заключалось в том, что нисходящие люди любят оставаться анонимными и не помогают ни в чем. – jeff

ответ

0

Вы должны добавить свои результаты MySQL в массив, а затем сделать JSON с этим

затем в коде JavaScript вы печатаете данные (запись) с для/Еогеаспа цикла

вашего 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> 

Успехов