티스토리 뷰

반응형

 

function check_alert()
{	
// load 알림설정
var tmp; 				
var name='<?php echo $user_name; ?>' ;
 
			tmp="../load_alert.php";			
			$("#vacancy").load(tmp);     
		    var voc_alert=$("#voc_alert").val();	 
		    var ma_alert=$("#ma_alert").val();	 
 		if(name=='홍길동' && voc_alert=='1') {			
			alertify.alert('<H1> 현장VOC 도착 알림</H1>', '<h1> 홍길동님 <br> <br> 현장VOC가 접수되었습니다. 확인 후 조치바랍니다. </h1>'); 			
			tmp="../save_alert.php?voc_alert=0" + "&ma_alert=" + ma_alert;	
			$("#voc_alert").val('0');				
			$("#vacancy").load(tmp);   			
											}
 		if(name=='김삿갓' && ma_alert=='1') {			
			alertify.alert('<h1> 발주서 접수 알림 </h1>', '<h1> 김삿갓님 <br> <br> 발주서가 접수되었습니다. 내역 확인 후 발주해 주세요. </h1>'); 			
			tmp="../save_alert.php?ma_alert=0" + "&voc_alert=" + voc_alert;	
			$("#ma_alert").val('0');				
			$("#vacancy").load(tmp);   			
											}											
}


// 5초마다 알람상황을 체크합니다.
	var timer;
	timer=setInterval(function(){
		check_alert();
	},5000); 

PHP로 웹프로그램을 작성하던 중, 누군가에게 발주서를 보내면, 그 기록을 서버에 넣고, 그 여부를 확인해서 일정 간격동안 계속 체크해서 알람을 줬는지 주지 않았는지 파악한 후 화면에 보여주는 기본적인 프로그램이다.

사용언어 : php + javascript

위의 코드는 5초간 계속 확인해서 발주서가 도착했는지 여부를 확인하는 부분이다.

$user_name= $_SESSION["name"];

				<input type="hidden" id="voc_alert" name="voc_alert" value="<?=$voc_alert?>" size="5" > 	
				<input type="hidden" id="ma_alert" name="ma_alert" value="<?=$ma_alert?>" size="5" > 	
                                                <div id="vacancy" style="display:none">  </div>	

<script src="//cdn.jsdelivr.net/npm/alertifyjs@1.12.0/build/alertify.min.js"></script>
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/alertifyjs@1.12.0/build/css/alertify.min.css"/>

스크립트는 알람창을 띄워주는 편한 코드이니 참고하면 좋겠다.

input의 hidden타입으로 변수를 화면에는 숨어있지만, 페이지에는 살아있는 값을 사용한다.

$user_name은 누군가에게 보낸 메시지인지 구분하기 위해서 사용하는 것. 세션의 값을 불러온다.

div hidden 속성으로 사용해서 제이쿼리. (#아이디).load(); 구문을 사용하기 위함이다.

 

이렇게 해서 실행하니, 정말 발주서 창이 화면에 나타나고, 클릭하면 발주알람 설정이 '0'값을 바뀌면서 알림창을 닫으면 다시 알림을 누를때까지 나타나지 않는다.

 

간단하지만, 실제 구현하기 위해서 많은 고민을 했다. 도움이 되었으면 좋겠다.

반응형
댓글