2011-04-20 65 views
1

我想要做的事情如下因素,這裏是簡單的選擇,從db.I獲取信息有一分貝有ID /城市/ people.SO這就像一些示例選擇自動選擇DB

Select1|Select2| 
    City1 |2  
    City2 |Poeple2  
    City3 |People3  
    City4 |People1   
    City5 |PopleFromFirstCity 

這是我想要做的,當我從第一個選擇中選擇一些城市時,我希望在第二個選擇中是Select2輸出將自動轉換爲我在第一個選項中進行的選擇,所以如果我選擇City1,第二個選擇讓PeopleFromFirstCityPeople1

+1

這樣做的意義不大。你能更清楚嗎? – David 2011-04-20 11:57:45

+0

您的問題非常模糊,很難看到'City1'和'People1'之間的任何*關係。也許如果你解釋了Select1和Select2之間的關係,它可能會幫助人們回答你的問題。 – Blazes 2011-04-20 11:57:49

+0

我編輯了問題 – weardstuff 2011-04-20 12:01:30

回答

1

對於第一選擇使這個:

<form> 
Select city: <select name="cities" onchange="showCity(this.value)"> 
<option value="0">Chose city...</option> 
<?php   
$sql="SELECT id,city FROM table1 ORDER BY ID DESC";  
$result = mysql_query($sql); 
while($row = mysql_fetch_array($result)) 
{ 
echo"<option value=" . $row[id] . ">" . $row[city] . "</option>"; 
} 
?> 
</select></form> 

對於從選擇2化妝DIV輸出:

<div id="txtHint"></div> 

現在讓含有人民第二個表表2,使js文件

var xmlhttp; 

function showCity(str) 
{ 
xmlhttp=GetXmlHttpObject(); 
if (xmlhttp==null) 
{ 
alert ("Browser does not support HTTP Request"); 
return; 
} 
var url="http://fullpathtoselection2file/selection2.php"; // Example: http://www.site.com/files/selection2.php 
url=url+"?q="+str; 
url=url+"&sid="+Math.random(); 
xmlhttp.onreadystatechange=stateChanged; 
xmlhttp.open("GET",url,true); 
xmlhttp.send(null); 
} 

function stateChanged() 
{ 
if (xmlhttp.readyState==4) 
{ 
document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
} 
} 

function GetXmlHttpObject() 
{ 
if (window.XMLHttpRequest) 
    { 
    // code for IE7+, Firefox, Chrome, Opera, Safari 
    return new XMLHttpRequest(); 
     } 
if (window.ActiveXObject) 
{ 
// code for IE6, IE5 
return new ActiveXObject("Microsoft.XMLHTTP"); 
} 
return null; 
} 

落實到你的文件,其中是選擇1這個js文件。 現在做出選擇2:

<?php 
// Get city id 
$q=$_GET["q"]; 
// Select from SQL where city = city id 
$sql="SELECT peoples,city_id FROM table2 WHERE city_id = '".$q."' order by id desc"; 

$result = mysql_query($sql); 

// echo it 
while($row = mysql_fetch_array($result)) 
{ 
echo $row['peoples']; 
} 

如何你有2個表。表1爲城市第二張桌子2的人民。當你從管理面板更新你的數據庫時,你需要更新2個表。爲人民和城市。 表1需要包含:id,city ...表2需要包含id,peoples,city_id。

代碼未經測試。