回答
您必須使用ajax來執行此操作,而無需提交頁面。
或者只是提交頁面使行動自我(相同的PHP)。
如果檢查有$ _ POST [select1value]
然後從數據庫填充在第二選擇
<select2>
<?php
if(($_POST['submit']) && ($_POST['select1']))
{
?>
<option1> of select2</option>
<?
}
?>
完蛋了。
但AJAX是好的,如果你婉使用
謝謝。我在第一個選擇的onchange事件中提交表單,其操作指向相同的文件並使用類似的PHP代碼。 – systemovich 2010-10-08 06:48:36
好。無論如何,當你花時間去嘗試一些Ajax。這個下拉人口是ajax的最好例子。嘗試。 http://www.w3schools.com/ajax/ajax_database.asp – zod 2010-10-08 13:41:21
通常你有一個表中的每個選擇框。這裏有一個例子:
table1:
id | item | extra_info
1 | 1 | ...
2 | 2 | ...
... ... ...
table2:
id | prev_choice | item
1 | 1 | 1_a
2 | 1 | 1_b
3 | 2 | 2_a
4 | 2 | 2_b
... ... ...
這樣,你只要搜索表2中的任何項目基於任何一個「prev_choice」之前被選中。例如,如果表格1包含一個大洲列表,表格2可以包含一個國家列表,其中「prev_choice」表示該國家在哪個大洲。
SQL查詢看起來是這樣的:
SELECT * FROM table2 WHERE prev_choice LIKE {$_GET["selected"]}
非JavaScript的解決方案:
讓用戶提交表單的選擇是,這樣的值將是GET/POST。
當頁面再次出現時,PHP可以訪問變量來組裝第二個選擇標籤。
事情是這樣的:
<form action='' method='post'>
<select name='select1'>
<option value='blah'>blah</option>
</select>
<?PHP if(isset($_POST['select1']) {
/* call DB and get infos */
echo "<select>";
/* FOR loop echoing <option>info</option> */
echo "</select>"; ?>
</form>
沒有測試過,但是應該是OK ISH。
如果表格很小,則根本不需要使用Ajax。您可以構建每個可能的第二個選擇框並將其隱藏在頁面上,並根據用戶的選擇顯示適當的選擇框。這比Ajax更快,不需要重新加載頁面或http請求。
但是,如果表格太大,或者第二個選擇框可能具有依賴於用戶的數據,那麼顯然這不是一個選項。
- 1. 如何使用jquery根據第一個選擇的選項填充第二個選擇列表
- 2. 填寫第二個使用AngularJS選擇標籤的第一個選擇標籤?
- 3. 選擇標記的填充選項
- 4. 根據第一個選擇的選項顯示第二個選擇框?
- 5. 第二行選擇標記不呈現同一行中的選擇標記
- 6. 使用在第一個選擇框中選擇的值填充第二個選擇列表Zend Framework 1
- 7. 從以下標記中選擇所有第一個選項
- 8. 依賴於第一個選擇選項更改第二個選擇選項
- 9. 選擇標記卡住一個選項
- 10. 如何選擇一個選擇框第一個選項的jQuery
- 11. 如何根據第一個選項填充第二個選項列表
- 12. 選擇第一個選擇標籤後,在第二個選擇標籤中給出子類別
- 13. 變化通過選擇第一選擇標記,並檢查一個複選框
- 14. 選擇框的問題 - 基於第一個選擇的第二個選項
- 15. struts2選擇標籤,第二次選擇基於第一選擇的值
- 16. 第二個選擇菜單更改根據第一個選擇菜單
- 17. 如何填充選擇選項並篩選Redux表單中的FieldArray中的第二個選擇?
- 18. 只選擇第二個記錄
- 19. Dependent Drop-Downs:根據頁面加載中第一個選擇的值更改第二個選擇選項
- 20. 如何記住選擇標籤中的多個選定選項?
- 21. 如何從基於另一個選擇標記的代碼值中填充選擇標記
- 22. 選擇多個選擇元素的每個第一個選項
- 23. 如何使選擇標籤可選的第一選項?
- 24. 根據第一個下拉選擇顯示第二個下拉選項jquery
- 25. 如何用另一個選項的選項來填充選擇
- 26. 選擇第一個記錄每個組
- 27. Jquery - 選擇第二個樣式標籤
- 28. jQuery選項卡:禁用第一個選項卡,選擇第二個
- 29. 使用第一個選擇的值作爲第二個選擇的聯合?
- 30. 如何選擇每第n個記錄?
這通常使用JavaScript來完成,因此用戶不必重新加載頁面。它必須是PHP嗎? – 2010-10-08 00:19:37
我認爲他需要PHP後端進行AJAX調用 – stevendesu 2010-10-08 00:20:18
我同意steven_desu – ITroubs 2010-10-08 00:21:56