2013-06-07 2 views
1

글쎄 제목이 다라고 생각합니다. mytable에 새 테이블 행 데이터가 추가되거나 제거 될 때 실제로 페이지를 업데이트해야합니다. 여기 내 코드는PHP 실시간 쿼리 결과 업데이트

EDIT! : 올바른 코드입니다

<?php 

echo ' 
<html> 
<head> 

<style type="text/css"> 
html { 
    min-width: 100%; 
    min-height: 100%; 

} 

body { 
    font-family: Segoe UI; 
    font-size: 11px; 
    height: 277px; 
    background-color: transparent; 
    overflow-X: hidden; 
    overflow-y: auto; 
      margin-top: 5px; 
    } 

</style> 
</head> 

<body OnContextMenu="return false;" OnSelectStart="return false;">'; 
///////////////////////////// 
$odbc_dsn = "mydb"; 
$odbc_usr = "sa"; 
$odbc_pwd = "[email protected]!?"; 
///////////////////////////// 

$ID = 0; 

if(!isset($_GET['myid'])) { exit('Game fail!'); } 
$ID = $_GET['myid']; 

$conn = odbc_connect($odbc_dsn, $odbc_usr, $odbc_pwd); 

if(!$conn) { die('Epic Fail!'); } 

$query = odbc_exec($conn, "SELECT * FROM mytable WHERE USER_ID='$ID'"); 
$world = odbc_result($query, 'MAIN_CH'); 
$chan = odbc_result($query, 'SUB_CH'); 
odbc_free_result($query); 

$query = odbc_exec($conn, "SELECT USER_INDEX_ID FROM mytable WHERE MAIN_CH=$world AND SUB_CH=$chan  ORDER BY USER_INDEX_ID"); 
$chanCount = odbc_num_rows($query); 

$s = ""; 
while($i=odbc_fetch_array($query)) 
$s .= $i["USER_INDEX_ID"].","; 
$s = rtrim($s,","); 
odbc_free_result($query); 

$query = odbc_exec($conn, "SELECT USER_NICKNAME, Level, AdminLevel FROM mytable0 WHERE USER_INDEX_ID  IN ($s) ORDER BY AdminLevel DESC, Level DESC, Experience"); 
while($i=odbc_fetch_array($query)) { 

    if($i['AdminLevel']==0){ 
    echo '<font color="White">'."&nbsp;&nbsp;&nbsp;"."Lv.".$i['Level']." ".$i['USER_NICKNAME']." </br></br></font>"; 
     } else {} 

} 
odbc_free_result($query); 


odbc_close($conn); 

?> 
</body> 
</html> 

어떤 도움이나 제안을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

0

슬프게도 이것은 http 기술이 기본적으로 작동하는 방식이 아닙니다. 서버 측 이벤트에서 사용자에게 데이터를 보낼 수 없습니다. 당신이 할 수 있도록 허락하는이 새로운 기술이 있습니다. 그것은 WebSockets입니다. 폴링과 긴 폴링도 사용할 수 있습니다. 이 세 가지 방법에 대한 간단한 검색은 충분한 정보를 제공합니다. 행운을 빌어 요 : P