Итак, я читаю некоторые значения из базы данных. Такие, как "результат", "команда", "лига" из базы данных. Я пытаюсь отобразить в <table>
результаты конкретной команды, сгруппированной по лиге, примерно так:
Это означает, что моя база данных содержит следующие данные:
result1 team1 league1
result2 team1 league1
result100 team1 league2
result101 team1 league2
result88 team1 league2
Я пробовал много вещей, и все же я не могу заставить его работать. Кроме того, ячейка лиги должна иметь rowspan
равную количеству результатов, обнаруженных в конкретной лиге. Это можно сделать с помощью mysql_num_rows
, но я не знаю, где его разместить. Итак, как я могу заставить эту таблицу работать? Большое спасибо!
Групповой вывод лиги - это простой вопрос о том, как выполнить сортировку break по результатам вашего запроса. Поскольку ваш вопрос не включает вашу схему таблиц или любой PHP-код, я сделал некоторые предположения о вашей таблице и оставил открытие соединения с вашей БД и выполнение инструкции sql для вас.
$qstr = "SELECT league, team, event
FROM table
ORDER BY league, team, event";
// Execute query, get results into associative array $allrows
$league = "";
$col1 = "";
$col2 = "";
echo "<table>\n";
foreach($allrows as $rowno => $row) {
if($league != $row['league']) {
if($league != "") {
echo "<tr>\n";
echo "<td>".$col1."</td>";
echo "<td>".$col2."</td>";
echo "</tr>\n";
}
$league = $row['league'];
$col1 = $league;
$col2 = "";
}
$col2 .= $row['team']." got ".$row['event']."<br />\n";
}
echo "<tr>\n";
echo "<td>".$col1."</td>";
echo "<td>".$col2."</td>";
echo "</tr>\n";
echo "</table>\n";
Я попытался каким-то образом, и это сработало для меня. Я надеюсь, что это сработает для вас... Посмотрите на код:
$db = new PDO('mysql:host=localhost;dbname=you_dbname', 'user', 'password');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT league, result, team FROM matches_info';
$stmt = $db->query($sql);
echo "<table border=\"1\">";
while($row = $stmt->fetch()){
echo '<tr>
<td rowspan="3">'.$row['pcid'].'</td>
<tr><td>'.$row['pid'].' got '.$row['pc_lect_num'].' </td></tr>
<tr><td>'.$row['pid'].' got '.$row['pc_lect_num'].'</td></tr></tr>';
}
echo "</table>";
Это очень просто, вы можете добавить дополнительные функции для улучшения его функциональности.