Php 从数据库中自动选择

Php 从数据库中自动选择,php,javascript,jquery,mysql,html,Php,Javascript,Jquery,Mysql,Html,我想做下面的事情,这里是一个简单的选择,它从数据库中获取信息。我有一个数据库,它有id/city/people Select1|Select2| City1 |2 City2 |Poeple2 City3 |People3 City4 |People1 City5 |PopleFromFirstCity 这是我想做的,当我从第一个选择中选择某个城市时,我想在第二个选择中选择2,输

我想做下面的事情,这里是一个简单的选择,它从数据库中获取信息。我有一个数据库,它有id/city/people

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

这是我想做的,当我从第一个选择中选择某个城市时,我想在第二个选择中选择2,输出将自动更改为我在第一个选择中选择的城市,因此如果我选择城市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>
实现到您的文件,其中选择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'];
}

对于第一个选择,请执行以下操作:

 <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>
实现到您的文件,其中选择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'];
}

这没有什么意义。你能说得更清楚些吗?你的问题很模糊,很难看出“城市1”和“人民1”之间有什么关系。也许如果你解释一下Select1和Select2之间的关系,它可能会帮助人们回答你的问题。对我来说仍然没有任何意义。我想你还没有把数据库正常化。你有两个表,一个表中有城市,另一个表中有人吗?我有一个表,列中有城市,列中有人。如果所有数据都在一个表中,则不需要有两个选择框。如果cityX只有一个PersonX(反之亦然),但如果cityX确实有PersonX、PersonY、PersonZ,那么您必须将该表拆分为两个表,以实现3NF。。。然后,您将拥有一个id列为| city的表,以及第二个id列为| city_id | person和relations Persons.city_id->Cities.id的表。之后,您可以使用JavaScript(AJAX)加载第一次选择中所选城市的所有人员,并使他们成为第二次选择的选项……这没有什么意义。你能说得更清楚些吗?你的问题很模糊,很难看出“城市1”和“人民1”之间有什么关系。也许如果你解释一下Select1和Select2之间的关系,它可能会帮助人们回答你的问题。对我来说仍然没有任何意义。我想你还没有把数据库正常化。你有两个表,一个表中有城市,另一个表中有人吗?我有一个表,列中有城市,列中有人。如果所有数据都在一个表中,则不需要有两个选择框。如果cityX只有一个PersonX(反之亦然),但如果cityX确实有PersonX、PersonY、PersonZ,那么您必须将该表拆分为两个表,以实现3NF。。。然后,您将拥有一个id列为| city的表,以及第二个id列为| city_id | person和relations Persons.city_id->Cities.id的表。之后,您可以使用JavaScript(AJAX)加载在第一次选择中选择的城市的所有人员,并使他们成为第二次选择的选项。。。