2011-12-09 2 views
0

현재 사이트에 메시지를 표시하는 간단한 코드가 있습니다. 페이지에는 90 초마다 자체 새로 고치는 iframe이 포함되어 있고 iframe에는 가장 최근 (30) 개의 게시물로 제한된 mysql 테이블의 내용이 표시됩니다.Iframe 또는 Ajax?

아약스를 읽었 는데도 여전히 혼란 스럽습니다. 제대로 작동하지 못했고, 알고 싶습니다. 작은 작업으로 정말 가치가 있습니까?

<head> 
<META HTTP-EQUIV="refresh" CONTENT="90; URL="> 
</head> 
<body> 
<? 
$newsarray = array(); 
$sql = "SELECT * FROM `news` ORDER BY `date` DESC LIMIT 30"; 
$result = mysql_query($sql); 
if(mysql_error()) { print mysql_error(); } else { 
    while($stuff = mysql_fetch_assoc($result)) 
{ array_push($newsarray, $stuff); } 

foreach($newsarray as $newsstory) { ?> 
<div class="newsstory"> 
    <h2><? echo $newsstory['headline']; ?></h2> 
    <div><? echo $newsstory['story']; ?></div> 
    <label>By <? echo $newsstory['user']; ?> on <? echo $newsstory['date']; ?></label> 
</div> 
<? } ?> 
</body> 

답변

1

그것은 다음과 같은 코드를 당신의 exsiting 페이지에 jQuery 라이브러리를 추가하고 추가 것처럼 간단 할 것이다 :

<div id="result"></div> 
<a href="javascript: updatestuff();">Manually Fetch Page</a> 

<script language="javascript"> 
function updatestuff() { 
    $.ajax({ 
     url: 'mypage.php', // The source 
     cache: false, // Make sure results are not cached 
     success: function (data) { 
      $('#result').html(data); // Update data once retrieved 
     } 
    }); 
} 

setInterval("updatestuff()",90000); // In Milliseconds 
</script> 

이 기능을 마이 페이지에서 가져온 내용으로 <div>을 업데이트 updatestuff() 90 초마다 실행 것을 .php.

+0

감사합니다. 그렇게 간단하게 알지 못했습니다. –

0

30 초마다 자동으로 업데이트되는 것을 원한다면 확실히 Ajax가 좋습니다.

jQuery를 사용하지 않으려 고 미친 듯이 말하는 사람도 있습니다.