在我的餐桌课程中,我有几个条目共享相同的cademy_id.我正在使用foreach循环来检索结果集中的值. for循环仅显示一个结果,而不显示所有共享相同academy_id的结果.如何显示共享相同academy_id的所有行?
表值
+----+------------+----------------------+---------------+------------+
| id | academy_id | course_name | start_date | end_date |
+----+------------+----------------------+---------------+------------+
| 1 | 123 | Biology - Basic | 2013-11-30 | 2013-12-25 |
| 2 | 123 | Biology - Nutrition | 2013-11-30 | 2013-12-25 |
| 3 | 345 | Chemistry | 2013-11-30 | 2013-12-25 |
| 4 | 678 | Calculus | 2013-11-30 | 2013-12-25 |
+----+------------+----------------------+---------------+------------+
的PHP
$academy_id = '123';
$db_select = $db_con->prepare("
SELECT c.course_name,
c.course_start_date,
c.course_end_date
FROM courses c
WHERE c.academy_id = 123
");
if (!$db_select) return false;
if (!$db_select->execute(array(':academy_id' => $academy_id))) return false;
$results = $db_select->fetchAll(\PDO::FETCH_ASSOC);
if (empty($results)) return false;
foreach ($results as $value){
$final_result = "Course Name: ".$value['course_name']."Start Date: ".$value['start_date']."End Date: ".$value['end_date']."";
}
print_r($_POST);
}
当前结果
+----+------------+-------------------+---------------+------------+
| id | academy_id | course_name | start_date | end_date |
+----+------------+-------------------+---------------+------------+
| 1 | 123 | Biology - Basic | 2013-11-30 | 2013-12-25 |
+----+------------+-------------------+---------------+------------+
想要的结果全部academy_id = 123显示
+----+------------+----------------------+---------------+------------+
| id | academy_id | course_name | start_date | end_date |
+----+------------+----------------------+---------------+------------+
| 1 | 123 | Biology - Basic | 2013-11-30 | 2013-12-25 |
| 2 | 123 | Biology - Nutrition | 2013-11-30 | 2013-12-25 |
+----+------------+----------------------+---------------+------------+
解决方法:
更改
$academy_id = '123';
....
foreach ($results as $value){
$final_result = "Course Name: ".$value['course_name']."Start Date: ".$value['start_date']."End Date: ".$value['end_date']."";
}
对于
$academy_id = 123;
.....
$final_result = '';
foreach ($results as $value){
$final_result .= "Course Name: ".$value['course_name']."Start Date: ".$value['start_date']."End Date: ".$value['end_date']."";
}
echo $final_result;
标签:sql,mysql,php
来源: https://codeday.me/bug/20191122/2059938.html