将MySQL表中的JSON数据解析为不同的Div

时间:2014-06-09 05:01:07

标签: javascript php jquery ajax json

从MySQL数据库获得jQuery Ajax请求我知道如何以HTML元素格式呈现数据,如表格或列表,如下所示:

$.ajax({
                type:"POST",
                url:"appdata.php",
                success: function (newdata) {
                    $('#result').html(newdata);
                }
       });

PHP as:

$mysqli = new mysqli('localhost', 'root', '******', '********');
$resultStr = '';
$query = 'SELECT * FROM appusers';
if ($result = $mysqli->query($query)) {
 if ($result->num_rows > 0) {
        $resultStr.='<ul>';
         while($row = $result->fetch_assoc()){
          $resultStr.= '<li>'.$row['fname'].' - '.$row['lname'].' - '.$row['phone'].'</li>';
        }
         $resultStr.= '</ul>';
        }
        else {
               $resultStr = 'Nothing Found';
             }
    }
echo $resultStr;
?>

另一个选项也是使用json_encode()将结果作为JSON传递,如下所示

   $mysqli = new mysqli('localhost', 'root', '******', '********');
   $query = 'SELECT * FROM appusers';
   $result = $mysqli->query($query)->fetch_array();
   echo json_encode($result);

现在我对如何在Ajax调用中使用此json_encode($result)感到困惑? 例如,如果我想要渲染像

这样的div系列中的查询结果,请告诉我
<div id"fname"></div>
<div id"lname"></div>
<div id"phone"></div>

我如何在ajax成功属性中解析这个?并关联相关div上的每个字段? 谢谢你的帮助。

更新

var varfname;
var varlname;
var varphone;

$(#fname).html(varfname);
$(#lname).html(varlname);
$(#phone).html(varphone);

1 个答案:

答案 0 :(得分:0)

我认为这可能会对您有所帮助,但根据您的要求,您必须更改newdata变量值。 这仍然需要根据您的要求进行一些编辑。

 $.ajax({
                    type:"POST",
                    url:"appdata.php",

                    success: function (data) {
                       var newdata='';

                        $.each(data, function(item,value) 
                        {

                          newdata+='<div id="'+item+'">'+value+'</div>';

                        });
                        $('#result').html(newdata);

                    }
           });