0
저는 주석 시스템에서 작업 중이며 ajax를 사용하여 데이터베이스에서 10 개의 최신 코멘트를 쿼리하고 표시하는 함수를 작성하려고합니다.json_encode를 사용하여 foreach 결과에서 여러 행을 표시합니다.
오전 데 문제는, 난 그냥 아약스 및 로 json_encode를 사용 여러 행을 표시하는 방법을 알아낼 수 있다는 것입니다.
PHP로 여러 행을 표시 할 때 .=
을 사용합니다. 매우 간단하지만 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'];
$all_comments .= '<div id="' . $user_id . '"><span>' . $user_name . '</span><span>' . $comment . '</span></div>';
}
}
아약스와로 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를 사용하여 여러 행을 표시하려면 코드를 어떻게 변경해야합니까?
미리 감사드립니다. 당신이 while()
루프의 첫 번째 반복 한 후 스크립트를 기존 있기 때문에
코드 아름답게 작품! 정말 고맙습니다! – Peter