php databasequery로 채워진 페이지를 만들었습니다. (모든 행은 MySQL 테이블에서 읽히고 HTML로 테이블에 기록됩니다). 10 초마다 동일한 PHP 스크립트가 jQuery AJAX에 의해 요청되고 현재 테이블 내용을 새로 고쳐야합니다. 이 함수의 반환 값은 표 HTML 값을 변경하는 데 사용됩니다.AJAX에 관한 두 가지 문제점
테이블에 버튼이 있습니다. 버튼을 클릭하면 켜기에서 끄기로 바뀌며 다른 PHP 파일은 AJAX로 호출됩니다. 그러면 AJAX는 쉘 명령을 통해 433MHz 무선 소켓을 제어합니다. 이 10 초의 ajax-refresh의 목적은 버튼을 전기 소켓의 실제 상태 (MySQL 데이터베이스에 저장 됨)와 동기화시키는 것입니다.
$stmt = $dbh->query("SELECT * FROM `funksteckdosen`");
$row = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($row as $r)
{
echo "<tr>";
echo " <td>" . $r['name'] . "</td>";
echo " <td><button id='" . $r['id'] . "' class='toggle" . ($r['toggle'] == 0 ? "" : " ein") . "'>"
. ($r['toggle'] == 0 ? "aus" : " ein") . "</button></td>";
echo "</tr>";
}
$(document).ready(function(){
$(".toggle").click(function() {
if($(this).hasClass("ein")) {
$(this).removeClass("ein");
$(this).html("aus");
$.post("various/executeCode.php", {transmitted:true, id:$(this).attr('id'), toggle:'0'}, function(result) {
});
} else {
$(this).addClass("ein");
$(this).html("ein");
$.post("various/executeCode.php", {transmitted:true, id:$(this).attr('id'), toggle:'1'}, function(result) {
});
}
});
});
window.setInterval("reloadPage()", 5000);
function reloadPage()
{
$.get('various/reloadPage.php', function(data) {
$("#content").html(data);
});
}
지금 나는 다음과 같은 문제가있다 : 페이지가 AJAX에 의해 처음으로 갱신됩니다 즉시로, 버튼의 작동이 중지. Javascript는 더 이상 click() - 함수를 실행하지 않습니다. 왜 그런가요? 문제 2 : 테이블 내용이 삭제되고 새 내용으로 바뀝니다. 어떻게 든 새 라인을 페이드 (또는 버튼 배경 - 컬러) 할 수 있습니까? 그것은 마지막 접촉 일 것입니다.
설명해 주시면 감사하겠습니다.
새 행만 반환하고 현재 테이블에 추가하면 fadeIn 애니메이션을 사용할 수 있습니다 –
문제 # 1이 고쳐졌습니다, 감사합니다 :) 새로 고침 쿼리를 변경하려고합니다. . – Blueray