2016-11-12 1 views
0

mysql 테이블의 총 레코드 수를 변경하여 스크립트를 실행하는 방법은 무엇입니까? div1 테이블의 레코드 양을 그대로 유지합니다. .load ajax 요청을 사용하면 div는 항상 0.5 초마다 새로 고쳐 지므로 거의 실시간으로 몇 개의 레코드가 있는지 알 수 있습니다. Mysql 레코드 수 변경을 기반으로 스크립트 실행

<div class="div1"> 
      <?php $row_cnt = mysqli_num_rows($result); 
      echo "table has $row_cnt records" ; ?>     
</div> 

<script> 
    function refreshdiv(){ 
     $('.div1').load('backendform.php',function() { 
      $(this).unwrap(); 
     }); 
    } 
    refreshdiv(); 
    setInterval(function(){ 
     refreshdiv(); 
    }, 500); 
</script> 

여기에 나는 카운트가 마지막 분 이내에 변경 (또는 둘째, 문제가되지 않습니다) 때 JS 함수를 호출하는 방법을 알아 내려고 노력하고있어. 예를 들어, $ row_cnt가 5에서 6으로 변경되면,이 문장에 대한 실행을 어떻게 트리거 할 수 있습니까?
<?php 
//if record was added in last minute 
if($row_cnt...) 
echo '<script type="text/javascript">', 
    'notification();', 
    '</script>' 
;?> 
<script> 

나는 기록은 지난 몇 초 내에 MySQL의 테이블에 추가 된 경우 내가 말할 수 있다면 무엇도 일할 수있는 것은 가정합니다. 각 레코드에는 타임 스탬프가 있습니다. 하지만 나는 비슷한 질문이 없기 때문에 이것이 가능할 지 모르겠습니다.

+0

mysql-triggers/working-mysql-scheduled-event/또는 트리거. – Shridhar

+0

확실히 javascript에 대한 직업이 아닙니다. 아마 PHP 웹 페이지에 대한 직업이 아닙니다. 더 나은 옵션은 mysql 이벤트와 cron 작업입니다 – e4c5

답변

0

당신은 setIntervalnotification 기능을 넣어 #div1

<?php $row_cnt = mysqli_num_rows($result); ?> 
<div class="div1" data-row="<?php echo $row_cnt ?>"> 
    <?php echo "table has $row_cnt records"; ?> 
</div> 

data-row 같은 데이터를 설정하고 비교하는 #div1data-row을 사용할 수 있습니다 : 당신이 http://www.mysqltutorial.org/에 대한 maylooking

<script> 
    function refreshdiv() { 
     $('.div1').load('backendform.php', function() { 
      $(this).unwrap(); 
     }); 
    } 
    refreshdiv(); 
    function notification() { 
     var row = $('.div1').attr('data-row'); 
     if (row == 2) { 
      //do something 
     } 
     else{ 
      //do something 
     } 
    } 
    setInterval(function() { 
     refreshdiv(); 
     notification(); 
    }, 500); 
</script> 
+0

행이 특정 번호와 동일 할 때 스크립트를 실행합니다. 예를 들어 행 수가 5면 if 문은'(row == 5) '일 때 실행되지만 행 번호가 변경된 경우 어떤 숫자로 변경 되더라도 if 문을 어떻게 실행합니까? – TheNuttyStudent

+0

행의 첫 번째 값을 변수에 저장하고 비교할 수 있습니다. –

+1

계정을 위해 질문을 편집 해 주시겠습니까? 왜냐하면 왜 저에게 효과가 없는지 모르겠습니다. 또한 귀하의 코드는 행 수가 특정 숫자와 같을 때 작동하지만 특정 숫자로 행 수를 가져 오도록 테이블의 레코드를 제거하면 페이지가 다시로드 될 때만 경고가 표시됩니다. div1 이전에 이미 새로 고쳐지고 올바른 행 수를 출력합니다. – TheNuttyStudent

관련 문제