2

から取得したレコードを表示するコンテンツ<div>を使用して をリロードする方法を知りたいです。トリッキーな部分は、各結果を 30 秒間表示してからリロードして次の結果を表示することです。AJAXMySQL 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
?>
4

1 に答える 1