2013-02-14 130 views
1

我有一個數據庫,我想要獲取數據到網站上。它包含按名稱和ID列出的狀態。通過id,namne和州列出縣,其中包含thems ID,然後是存在的俱樂部,引用它們存在的縣id以及其實際數據的列。動態填充mysql數組到下拉菜單

我有什麼:

一個下拉菜單,用於填充自己與狀態ID和名稱。

我想什麼來完成:

在狀態的選擇,比方說紐約,把它的ID和蒐集另一個MySQL陣列全縣下拉使用。我希望它在選擇狀態時動態發生,甚至可以在下拉菜單旁邊顯示結果數量。

$resstate = mysql_query("SELECT * FROM state ORDER by longstate;") or die("Note: " . mysql_error()); 
State: 
    <select name="State" size=1> 
    <? 
     while($rs = mysql_fetch_array($resstate)) { 
      echo "<option value=" .$rs['id'] . ">" . $rs['longstate'] . "</option>"; 
     } 
    echo "</select>"; 
?> 

我知道我可以在第一滴使用JavaScript onChange="this.form.submit()"下來,但它是我的理解,我會再在這一點上可以做一個新的頁面,不知道如果我能保持功能當你想要紐約的時候,如果你不小心選擇了新罕布什爾州,這個州就會下降。

這裏是當前數組的填充下拉一個例子:

http://snowmobileamerica.com/countytest.php

----編輯---

使用Dagons忠告,我看着阿賈克斯。

我做的,是應該基於查詢的參考數據庫getcounty.php Q A PHP文件=

該文件如下創建:

<?php 
$q=$_GET["q"]; 

$cn=mysql_connect("localhost","user","password") or die("Note: " . mysql_error()); 

mysql_select_db("snowusa_clubs", $cn); 

$sql="SELECT * FROM county WHERE state_id = '".$q."' ORDER by name"; 

$result = mysql_query($sql); 


echo "<select name="County" size=1>"; 

while($rc = mysql_fetch_array($result)) 
{ 
echo "<option value=" .$rc['id'] . ">" . $rc['name'] . "</option>"; 
} 

echo "</select>"; 

mysql_close($cn); 
?> 

,如果我嘗試運行它手動http://www.snowmobileamerica.com/getcounty.php?q=33我得到500內部服務器錯誤...

任何想法,我哪裏出錯了?

+1

聽起來像AJAX – 2013-02-14 03:10:06

+0

工作,我知道0關於Ajax,照顧ellaborate? – 2013-02-14 03:17:11

+0

不是真的,我希望在這個主題上的數百萬個網站中的任何一個都能爲你提供比我更好的信息。在互聯網上已經有足夠的針重複 – 2013-02-14 03:18:26

回答

0

還不能評論。 但對於第二個問題的嘗試:

<?php 
$q=$_GET["q"]; 

$cn=mysql_connect("localhost","user","password") or die("Note: " . mysql_error()); 
echo "Conn ok<br>"; 
mysql_select_db("snowusa_clubs", $cn); 
echo " Database opened<br>"; 
$sql="SELECT * FROM county WHERE state_id = '$q' ORDER by name"; 

$result = mysql_query($sql); 
echo " Database queried <br>"; 

echo "<select name='County' size=1>"; 

while($rc = mysql_fetch_array($result)) 
{ 
echo "<option value='" .$rc['id'] . "'>" . $rc['name'] . "</option>";//added single quotes in the value 
} 
echo "</select> "; 

mysql_close($cn); 
?> 
+0

我最終逃離縣作爲\」縣\「不知道,如果它有所作爲,無論你是正確的軌道:) – 2013-02-14 04:41:05

1

嘗試添加一個id的元素,然後進行一個AJAX調用處理程序使用jQuery:

$("#State").change(function() { 
$.post("path/to/request handler/" , { "State" : $(this).val() }, 
function(data){ 
    if (data == "OK"){ 
     //add some elements here 
    } else { 
     //handle an error here 
    } 
}); 

});

+0

回聲後錯過了一個分號「