不显示来自正确父项目的数据的子项
问题描述:
我对php比较陌生,并且在一个问题上陷入困境。我的index.php文件显示一个状态列表,并正确显示这些状态。每个州都有一个p_id
字段,对应于按字母顺序排列的状态列表。不显示来自正确父项目的数据的子项
我正在使用的数据库有一个包含cat表中以下字段的表:p_id(父id),state(州名),city和id(孩子的id,它为每个新状态重置)。 这是我使用的填充状态查询:
select distinct state, p_id from cat order by state asc
List_cities.php是点击之后的状态显示下一个页面。阿拉巴马州是第一个按字母顺序排列的州,所以会是父母(p_id)= 1。当我点击阿拉巴马州(或任何其他州)时,不会显示任何城市。他们全部列在猫表中。
这是我用来显示城市查询:
select p_id, id, city, state from cat where p_id="'.$p_id.'" order by p_id, id
任何帮助将不胜感激! 谢谢!
答
想象一下,你有这样的状态表:
-------------
id | state
-------------
1 | California
2 | New York
3 | Arizona
和你CITY表所示:
------------------------------
id | state_id | name
------------------------------
1 | 1 | Los Angeles
2 | 1 | San Diego
3 | 1 | San Jose
正确的查询检索的状态是:
SELECT id, state FROM states ORDER BY state ASC;
并根据一个州检索城市的正确查询是:
SELECT id, name, state_id FROM cities WHERE state_id = ?;
很明显,你会使用PDO类来连接数据库,因为它比任何你可以写的都更安全。查看pdo manual了解更多信息。那'?'实际上是你用PDO绑定的参数,所以不要让它混淆你。
从我所了解的你已经创建了一个表,你指定了城市和州名。我肯定会把它们分开,然后像上面那样创建两个表格。
非常感谢,萨瓦斯!我会阅读pdo手册,并尝试您的建议。 – wilcan 2013-05-10 15:30:24
请标记正确的答案,以便用户可以了解哪个答案解决了您的问题。 @wilcan – Shaokan 2013-05-10 15:32:40
不客气,很高兴它帮助:) – 2013-05-10 15:33:14