【发布时间】:2011-03-11 04:35:47
【问题描述】:
我需要查询一个 MySQL 表以获取名称列表,然后根据该名称列表,查询与其相关的报告。这是我的代码:
//query the peoples
$query_people = mysql_query("SELECT * FROM people ORDER BY people_name ASC")
while($fetch_people = mysql_fetch_array($query_people)){
$people_id = $fetch_people[people_id];
$people_name = $fetch_people[people_name];
$query_report = mysql_query("SELECT * FROM report WHERE report_entity = '$people_name'");
// output each person's name
echo($people_id.$people_name);
//get their reports
while($fetch_report = mysql_fetch_array($query_report)){
$report_id = $fetch_report[report_id];
$report_type = $fetch_report[report_type];
$report_narr = $fetch_report[report_narr];
echo($report_narr);
}
}
?>
当它输出时,我得到了这个:
1比尔
2鲍勃 “比尔的叙述”
3汤姆 “鲍勃的叙述”
4 “汤姆的故事”
关于它为什么跳过 Bill 在嵌套循环中的查询有什么想法吗?
【问题讨论】:
-
可能是表数据本身有问题?
-
我不这么认为 - 我有另一个页面以不同的方式提取数据,但使用相同的查询可以正常工作。
-
那很奇怪,代码看起来不错。但也许我也错过了一些东西。
-
你开启所有报错了吗?
标签: php mysql loops while-loop nested-loops