최근에 시스템에 로그인 한 사람의 로그가있는 CMS를 프로그래밍했습니다. 현재이 데이터는 Ajax를 통해 jQuery UI 탭으로 제공된다. 이 정보를 메인 페이지의 사이드 바에 넣고 AJAX를 통해 매 30 초마다 (또는 일정 시간 동안)로드하려고합니다.AJAX 데이터를 X 분/초마다 새로 고침, jQuery
어떻게해야합니까? PHP 응답을 JSON 코딩해야합니까? 나는 AJAX와 JSON 데이터에 상당히 익숙하다. 여기
내가 현재 사용자 테이블 -<?php
$loginLog = $db->query("SELECT name_f, name_l, DATE_FORMAT(lastLogin, '%a, %b %D, %Y %h:%i %p') AS lastLogin FROM user_control ORDER BY lastLogin ASC LIMIT 10");
while ($recentLogin = $loginLog->fetch()) {
echo $recentLogin['name_f'] . " " . $recentLogin['name_l'] . " - " . $recentLogin['lastLogin'];
}
?>
감사에서 세부 사항을 뽑아 사용하고있는 PHP입니다! 이것이 내가 가진 무엇 UPDATE
좋아요 지금까지 .. 내가에 붙어 부분은 어떻게이 JSON을 통해 루프 박스에 입력이다. 내가 단 하나의 결과를 사용하고 그것이 []에 없다는 것을 보증하는 한 그것은 잘 작동합니다. 나는 Ajax와 JSON을 배웠다. 웬일인지 나에게 너무 쉽게 오지 않는다.
자바 스크립트 -
$(document).ready(function(){
function refreshUsers(){
$.getJSON('json.php', function(data) {
for (var i = 0; i < data.length; i++) {
$("#loadHere").html('<p>' + data.name + ' ' + data.lastLogin + '</p>');
}
});
}
var refreshInterval = setInterval(refreshUsers, 30 * 1000);
refreshUsers();
});
무엇 내 PHP 스크립트 출력 -
[{"name":"Joe Smith","lastLogin":"Fri, May 21st, 2010 08:07 AM"},{"name":"Jane Doe","lastLogin":"Fri, May 21st, 2010 07:07 AM"}]
감사합니다!
도움 주셔서 감사합니다. 나는 지금까지 가지고있는 것으로 나의 원래 게시물을 업데이트했다. JSON을 통해 반복하려고 노력하고 있습니다. Javascript/jQuery, Ajax 및 JSON의 두 루프를 처음 접했습니다. 다시 한 번 감사드립니다! – NightMICU
다행스럽게 도울 수있었습니다! 이것이 정답이면 동일한 문제가있는 다른 사람들이 해결 방법을 알 수 있도록 허용 된 것으로 표시하십시오. 반복에 관해서는 PHP에서 가지고있는 것을 기억하고 JSON이 다른면과 정확히 똑같이 동작하므로 인코딩합니다 : 객체가 ab 인 경우'.' 연산자를 사용하여 JS의 속성에 액세스 할 수 있습니다. 그것이 배열이라면, 당신은 거의 언어로 반복 할 것입니다; 'data [i]'. PHP의지도는 JSON의 객체가됩니다. – Seb
좋아, 그래서 JSON에서 데이터를 루프 처리하고 .appendTo()를 사용하여 적절한 DIV에 추가하는 방법을 알 수있었습니다. 하지만 필요한 것은 MySQL 테이블에서 결과를로드하고 X 초마다 사이드 바 DIV에 삽입하는 것입니다. 실제로 Mailslut의 방법이 더 좋을 것 같습니다. PHP를 사용하여 테이블을 반복하고 HTML을 DIV에 삽입하는 것이 간단합니다. 그래서, 내 질문 -이 응용 프로그램에 대한 JSON 대 $ .load()의 장점은 무엇입니까? JSON을 사용하고 매번 결과를 추가하지 않고 테이블의 모든 결과를 DIV에 추가하려면 어떻게해야합니까? 감사! – NightMICU