В моей таблице courses
У меня есть несколько записей, которые имеют одинаковое значение academy_id
. Я использую цикл foreach для извлечения всех строк с тем же academy_id
. В приведенном ниже примере есть академия, которая имеет два курса. Значения отображаются правильно, но отображаются некоторые ненужные значения. Например, он создает два результата. Возможно ли иметь один комбинированный результат, как показано ниже в разделе wanted result to display
?Для каждого цикла для отображения значений из таблицы mysql
PHP
$academy_id = 123
$db_select = $db_con->prepare("
SELECT ca.course_name,
ca.course_start_date,
ca.course_end_date
FROM courses_by_academy ca
WHERE ca.academy_id = :academy_id
");
$final_result = '';
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 .= "<b>Academy Name: </b>".$value['name']."</br><b>Academy Type: </b>".$value['type']."</br><b>Status: </b>".$value['status']."</br>";
$final_result .= "<b>Course Name: </b>".$value['course_name']."</br><b>Start Date: </b>".$value['course_start_date']."</br><b>End Date: </b>".$value['course_end_date']."</br>";
}
}
Таблица значений
+----+------------+----------------------+---------------+------------+
| id | academy_id | course_name | start_date | end_date |
+----+------------+----------------------+---------------+------------+
| 1 | 123 | Biology - Basic | 2013-11-30 | 2013-12-25 |
| 2 | 123 | Biology - Nutrition | 2014-01-15 | 2014-01-25 |
+----+------------+----------------------+---------------+------------+
текущий результат Показано
Academy Name: North Valley Schools
Academy Type: Post-Secondary
Status: INACTIVE
ID: 123
Course Name: Biology - Basic
Start date: 2013-11-30
End date: 2013-12-25
Academy Name: North Valley Schools
Academy Type: Post-Secondary
Status: INACTIVE
ID: 123
Course Name: Biology - Nutrition
Start date: 2014-01-15
End date: 2014-01
Требуются result- Комбинированные
Academy Name: North Valley Schools
Academy Type: Post-Secondary
Status: INACTIVE
ID: 123
Course Name: Biology - Basic
Start date: 2013-11-30
End date: 2013-12-25
Course Name: Biology - Nutrition
Start date: 2014-01-15
End date: 2014-01-25
Вы видите столбец '$ value ['name']' и '$ value ['type'] для имени/типа академии, которых нет в наборе результатов запроса. Как вы в настоящее время получаете дисплей, чтобы фактически работать так, как вы показали? Во-вторых, если вы только когда-либо запрашиваете одну академию за раз, зачем вообще выводить информацию о академии внутри цикла? Просто перемещайте отображение информации о академии за пределами цикла и оставляйте содержимое класса в нем - проблема решена. –
@MarkBryant хорошо пункт. Как это выглядело бы как информация академии вне цикла? Мой разум не может понять концепцию –