簡體   English   中英

在PHP上繼續執行SQL查詢

[英]Continues SQL queries on PHP

我有一個PHP腳本,該腳本需要一個Instance-ID (int)數組,並對每個Instance-ID執行SQL查詢,並將結果寫入表中。

我想每隔X秒刷新一次數據庫中的數據(或使用每個新數據),但是我找不到一種方法。

function checkStatus()
{   
    global $instances_ID;
    // Create connection
    $con=mysqli_connect("*******","*****","*****","****"); 

   // Check connection
   if (mysqli_connect_errno($con))
    {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    //Clear page
    echo "<script type='text/javascript'>\n";
    echo "document.body.innerHTML = ''";
    echo "</script>";   

    echo "<h3><center>Last Backups:</center></h3><br><br>";

    //Build table
    echo "<table border='1'align='center'>
    <tr>
    <th>Instance ID</th>
    <th>Backup ID</th>
    <th>STATUS</th>
    <th>Start Time</th>
    <th>End Time</th>
    <th>Progress</th>
    <th>Servlet</th>
    </tr>";
    foreach ($instances_ID as $id)
    {
        $result = mysqli_query($con,"SELECT * FROM `instance_backups` WHERE INSTANCE_ID='".$id."' ORDER BY `instance_backups`.`START_TIMESTAMP` DESC LIMIT 1");
        $row = mysqli_fetch_array($result);
    echo "<tr>";
    echo "<td align='center'>" . $row['INSTANCE_ID'] . "</td>";
    echo "<td align='center'>" . $row['INSTANCE_BACKUP_ID'] . "</td>";
    echo "<td align='center'>" . $row['STATUS'] . "</td>";
    echo "<td align='center'>" . $row['START_TIMESTAMP'] . "</td>";
    echo "<td align='center'>" . $row['END_TIMESTAMP'] . "</td>";
    echo "<td align='center'>" . $row['PROGRESS_PERCENTAGE'] . "</td>";
    echo "<td><input type=button onClick=location.href='******' value='Immidiate Backup'>";
    echo "</tr>";       
    }

    echo "</table>";
    //Close the connection
    mysqli_close($con);
}

首先,您需要一個JavaScript庫。 我強烈建議使用jQuery。 下載最新版本,然后將其上傳到您的服務器,最好將其上傳到單獨的文件夾,例如“ jscripts”或類似內容。

現在研究setInterval()。 使用一個小型且快速的功能來顯示其實用性。 setInterval(函數名稱,x)-每x毫秒調用一次函數。 如果您這樣做:

function addText(){
    document.getElementById('testDiv').innerHTML = " HELLO ";
}
setInterval( addText, 1000 );

您會看到,如果您有一個id為“ testDiv”的div,那么每隔1秒鍾它就會向div中添加“ HELLO”,並不斷地填充它。

現在,您研究“ jquery ajax”。 這涉及更多,由於這個問題涉及許多步驟,因此我將不做詳細介紹,但是,AJAX基本上是與另一個腳本建立后台連接,並且可以從中獲取輸出,而無需刷新頁面。 一旦將三個鏈接在一起,您就會大笑...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM