我想要設計一個網頁,如下圖所示。有三個面板(1,2,3)。如果我點擊球隊(面板1),那麼面板2和3a將被填滿。如果我然後點擊一個特定的組(G1),那麼面板3b將被填充。如果我然後點擊特定動物(A1),則面板3c將被填滿。這些數據是使用PHP從Oracle數據庫中獲取的。AJAX功能在同一頁面顯示動態數據
我是AJAX新手。你可以讓我知道最好和有效的方式來做到這一點?
謝謝
聖
我想要設計一個網頁,如下圖所示。有三個面板(1,2,3)。如果我點擊球隊(面板1),那麼面板2和3a將被填滿。如果我然後點擊一個特定的組(G1),那麼面板3b將被填充。如果我然後點擊特定動物(A1),則面板3c將被填滿。這些數據是使用PHP從Oracle數據庫中獲取的。AJAX功能在同一頁面顯示動態數據
我是AJAX新手。你可以讓我知道最好和有效的方式來做到這一點?
謝謝
聖
我強烈建議使用JavaScript框架,如jQuery爲此。使用AJAX需要很多痛苦(請參閱http://api.jquery.com/jQuery.get/)。
有幾個方法,你可以做檢索數據:
最簡單的方法是將產生 爲(2) PHP腳本中,和HTML載入 整個表容器div
。 的缺點是,如果您想要更改 您的HTML模板,則必須更改PHP文件以更改 。
或者,你可以從你的PHP JSON格式( - http://www.php.net/manual/en/function.json-encode.php在PHP中使用 json_encode()
)回波數據 。 所以你會建立你的數組行 數據和做echo json_encode($data);
。您可以使用jQuery.get()將 加載爲JSON。
完成之後,您需要 清除表格 (標題除外)的任何舊行並添加新的 。同樣,jQuery將簡化 這個過程,但是如果你沒有太多經驗的話,它並不容易。
正如我所說,第一種方法相當簡單,因爲它只需要相當基本的PHP和Javascript。第二種方法更清潔,更靈活,可能在帶寬上更輕,但要困難得多。
填充3(a-c)本質上是同一個問題。您可以在PHP中生成整個內容並簡單地設置容器HTML,或者在div
(但使用CSS:display:none;
隱藏)中包含基本HTML模板並填充該模板。
我不能在這裏給你所有關於AJAX的基礎知識,但是web服務器應該以像JSON這樣的解析友好的方式返回數據。點擊鏈接時,您需要使用'jQuery.ajax()'調用AJAX調用並適當地解析結果。 – pimvdb 2011-03-22 14:05:35