簡體   English   中英

如何用新數據重新加載php文件中的某個部分?

[英]How to reload a certain part in a php file with new data?

我有一個php文件,它從MySql數據庫檢索數據並顯示它。 但是數據庫中沒有更多的數據,比如說100。但是在我的php文件中,我計划一次只顯示6

LIMIT start_value, 6.

然后在底部有一個平底鍋,其中包含以下代碼

<a href="index.html?start_value=start_value+6">1</a>
<a href="index.html?start_value=start_value+12">2</a>
<a href="index.html?start_value=start_value+18">3</a>
<a href="index.html?start_value=start_value+24">4</a>
<a href="index.html?start_value=start_value+30">5</a>
<a href="index.html?start_value=start_value+36">6</a>

所以現在的問題是,如果有人單擊整個index.html上方的鏈接,將會重新加載,這很煩人。 是否可以通過單擊任何鏈接后僅重新加載該特定DIV來顯示數據庫中的新數據?

您有兩種選擇:

  1. Ajax ,它允許您使用JavaScript從服務器檢索數據,然后可以使用它來操作DOM。 Ajax的基礎是XMLHttpRequest對象,該對象使您可以在JavaScript中完全檢索后台數據。 請注意,Ajax受“ 相同來源策略”的限制,但是對於您所描述的情況,這很好-您將從同一來源加載數據。

  2. 框架(例如iframe元素),您可以通過設置框架的src屬性將其加載到其中。

在這兩者之間,Ajax更加靈活。

參考資料/進一步閱讀:


旁注 :雖然顯然您可以直接使用XMLHttpRequest和DOM方法,但是請注意,存在跨瀏覽器的差異(以及徹底的錯誤),可以通過jQueryPrototypeYUIClosure其他任何一個 它們還提供了許多有用的實用程序功能,使您可以專注於要解決的實際問題,而不必關注管道的詳細信息。

例如,以下是使用jQuery向服務器發送Ajax請求並在頁面上使用服務器發回的HTML片段更新元素的方法:

$("#target").load("get_the_data.php", {article: x});

也就是說:從get_the_data.php請求HTML片段,向其發送參數文章以及x變量的值,然后將該HTML片段放入具有HTML id“ target”的元素中。 如果您不使用庫,那將是十行不錯的代碼。 現在,這不是很多,但要反復重復(並在此過程中處理有關通過ID查找元素的IE錯誤),然后您將看到如何將其累加。

我確實建議您閱讀上述參考資料,以使您知道庫是如何做的(這不是魔術),但是沒有理由不利用人們所做的辛勤工作來簡化這些工作。


如果您有一個提供myaction服務的頁面,例如index.html?start_value = start_value + 6,則可以執行以下操作:

setInterval(myaction, 20000); //every 20 seconds

function myaction() {
  $("#quoteContainer").load("index.html?start_value=start_value+6");
}

是否可以通過單擊任何鏈接后僅重新加載該特定DIV來顯示數據庫中的新數據?

就在這里。 您需要使用XMLHttpRequest對象和DOM 一句話: AJAX

最好的方法是使用jQueryPrototipe之類的框架。

在這里您可以找到一個例子。 在該示例中,應將“ latest_scores.html”頁面替換為另一個頁面“ latest_scores.php”。 php腳本將創建可以放置在div中的刷新內容。

您應該查看jQuery javascript庫 ,該使您可以輕松地使用ajax加載內容,因為ajax正是您所需要的! PHP是一種服務器端語言,它在服務器上運行,並且不是動態的,您正在尋找在客戶端上工作的東西,那就是Javascript。

暫無
暫無

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

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