から取得したレコードを表示するコンテンツ<div>
を使用して をリロードする方法を知りたいです。トリッキーな部分は、各結果を 30 秒間表示してからリロードして次の結果を表示することです。AJAX
MySQL
database
<div>
は次のmedia table
とおりです。
_______________________________________________
| FIELD 1 | FIELD 2 | FIELD 3 | FIELD 4 |
-----------------------------------------------
| ID | TVOne | TVTwo | Active |
-----------------------------------------------
| 15 | no | no | no |
-----------------------------------------------
| 29 | yes | no | yes |
-----------------------------------------------
| 53 | no | no | no |
-----------------------------------------------
| 71 | yes | yes | yes |
-----------------------------------------------
TVOneの<div>
ページにあるレコード 29 と 71 をロードします<div>
。TVTwo のページにあるレコード 71 のみをロードします。これtable
はバックエンドのユーザーによって変更されるため、結果は常に次のようになります。異なる。
私はこの質問を読んでいて、javascript
セレクターがパズルのピースになる可能性があると信じてい.eq()
ますが、すべてをまとめる方法がわかりません.
が置かれているページ<div>
は と呼ばれindex4.php
ます。前のページ ( index3.php
) はクエリを実行して、いずれかのレコードがアクティブに設定されているかどうかを確認します。アクティブに設定されている場合は に設定num_rows
され$count
、 に進みます。index4.php?count=$count
そうでない場合は、表示シーケンスの先頭に戻りますindex.php
。
index3.php
リダイレクト機能は次のとおりです。
<?php
$result = $mysqli->query("SELECT * FROM media WHERE Active = 1 AND TVTwo = 1");
$count = $result->num_rows;
if($count > 0){$media = "index4.php?count=$count";}
else{$media = "index.php";}
?>
<script>
refresh=window.setTimeout(function(){location.href="<?php echo $media;?>"},15000);
</script>
AJAX
をロードするコードは次のとおり<div>
です。
<script>
function MediaQuery(qty)
{
if (qty=="")
{
document.getElementById("Media").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("Media").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","../process/QueryMedia.php?count="+qty,true);
xmlhttp.send();
}
</script>
QueryMedia.php は次のとおりです。
<?php
$count = $_GET["count"];
$sql = ("SELECT * FROM media WHERE Active = 1 AND TVTwo = 1 LIMIT $count");
if(!$result_sql = $mysqli->query($sql))
{
echo QueryCheck("getting the media records ","from the media",$mysqli);
}
// fetch it here
?>