Я хочу, чтобы генерировать HTML-таблицы и отображения записей из таблиц MySQL в качестве столбцов, а не строк, как:Показать MYSQL записи как столбцы таблицы HTML
The недельных имен в таблице «недели» и каждую неделю запись также содержит количество сессий на этой неделе:
+---------+-----------+----------+-----------+
| week_pk | week_name | sessions | cohort_fk |
+---------+-----------+----------+-----------+
| 1 | Week 1 | 3 | 1 |
| 2 | Week 2 | 2 | 1 |
| 3 | Week 3 | 1 | 1 |
+---------+-----------+----------+-----------+
таблица когорты:
+-----------+-------------+-------------+-------------+
| cohort_pk | cohort_name | cohort_code | cohort_year |
+-----------+-------------+-------------+-------------+
| 1 | Some name | MICR8976 | 2014 |
+-----------+-------------+-------------+-------------+
Я нашел код, который генерирует записи в таблице в виде столбцов таблицы HTML, ОК (я уверен, что этот код можно было бы улучшить ...).
Итак, вопрос в том, как изменить этот код для генерации столбцов сеанса в таблице HTML за каждую неделю coloumn? Например, для столбца Неделя 1 в таблице HTML, трех столбцов сеанса и т. Д. Для столбцов другой недели?
Любая помощь в решении оценивается.
$query = "SELECT * FROM cohort, week
WHERE week.cohort_fk = cohort.cohort_pk
AND cohort.cohort_year = '$year'
AND cohort.cohort_pk = '$cohort'";
$result = mysql_query($query, $connection) or die(mysql_error());
echo "<table width = 50% border = '1' cellspacing = '2' cellpadding = '0'>";
$position = 1;
while ($row = mysql_fetch_array($result)){
if($position == 1){
echo "<tr>";
}
echo " <td width='50px'>" . $row['week_name'] . "</td> ";
if($position == 3){
echo "</tr> ";
$position = 1;
}else{
$position++;
}
}
$end = "";
if($position != 1){
for($z=(3-$position); $z>0; $z--){
$end .= "<td></td>";
}
$end .= "</tr>";
}
echo $end."</table> ";
Пожалуйста [не используйте 'mysql_ * '] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php?rq=1); функции 'mysql_ * 'устарели, [устарели] (http://us3.php.net/manual/en/intro.mysql.php) и небезопасны. Используйте ['MySQLi'] (http://us3.php.net/manual/en/book.mysqli.php) или [' PDO'] (http://us3.php.net/manual/en/intro. pdo.php). Кроме того, вы широко открыты для [** SQL injection **] (https://www.owasp.org/index.php/SQL_Injection). Что касается того, как решить вашу проблему, это действительно просто: просто используйте '$ row ['whatever_column_name']' где вы хотите эти данные. –