Php 从数据库中自动选择
我想做下面的事情,这里是一个简单的选择,它从数据库中获取信息。我有一个数据库,它有id/city/peoplePhp 从数据库中自动选择,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,输
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)加载在第一次选择中选择的城市的所有人员,并使他们成为第二次选择的选项。。。