0
我正在評論系統上工作,我試圖構建一個函數,使用ajax從數據庫查詢並顯示10個最新評論。從使用json_encode的foreach結果顯示多行
我遇到的問題是,我無法弄清楚如何使用AJAX 和json_encode顯示多行。
當我使用php顯示多行時,我使用.=
,這非常簡單,但使用ajax和json_encode,目前爲止我只能用我的知識顯示單個結果。
下面是我的代碼的純PHP版本顯示多行
public function display_comment(){
$query = "SELECT * FROM 'comment' WHERE 'user_id' = $user_id ORDER BY 'save_time' DESC LIMIT 10";
$result = $database->query($query);
foreach($result as $row){
$user_id = $row['user_id'];
$user_name = $row['user_name'];
$comment = $row['comment'];
$all_comments .= '<div id="' . $user_id . '"><span>' . $user_name . '</span><span>' . $comment . '</span></div>';
}
}
使用AJAX和json_encode,我這是怎麼返回一個結果
public function display_comment(){
$query = "SELECT * FROM 'comment' WHERE 'user_id' = $user_id ORDER BY 'save_time' DESC LIMIT 10";
$result = $database->query($query);
foreach($result as $row){
$user_id = $row['user_id'];
$user_name = $row['user_name'];
$comment = $row['comment'];
$json_array = array("user_id" => $user_id, "user_name" => $user_name, "comment" => $comment);
header('Content-type:application/json');
exit(json_encode($json_array)); // I am using exit instead of echo, because somehow if I use echo, it returns entire html page.
}
}
jQuery的一部分
$(document).on("click","#view_comment",function(e){
e.preventDefault();
$("#view_comment").text("loading..");
var view_comment = $(this).val(); // Don't worry about this
$.ajax({
type:"post",
data:{"view_comment":view_comment},
dataType:"json",
success:function(data){
$('#ajax_comment').html('<div id="' + data.user_id + '"><span>' + data.user_name + '</span><span>' + data.comment + '</span></div>');
},
error:function(data){
// Error code
}
});
});
我該如何更改我的代碼才能使用json_encode顯示多行?
非常感謝你提前!
代碼精美的作品!非常感謝! – Peter 2012-08-02 07:39:59