Как я могу сгруппировать значения из базы данных, используя <td> и rowspan?

0

Итак, я читаю некоторые значения из базы данных. Такие, как "результат", "команда", "лига" из базы данных. Я пытаюсь отобразить в <table> результаты конкретной команды, сгруппированной по лиге, примерно так:

Изображение 174551

Это означает, что моя база данных содержит следующие данные:

result1     team1   league1
result2     team1   league1
result100   team1   league2
result101   team1   league2
result88    team1   league2

Я пробовал много вещей, и все же я не могу заставить его работать. Кроме того, ячейка лиги должна иметь rowspan равную количеству результатов, обнаруженных в конкретной лиге. Это можно сделать с помощью mysql_num_rows, но я не знаю, где его разместить. Итак, как я могу заставить эту таблицу работать? Большое спасибо!

  • 0
    Если вы пробовали «много чего», что вы пробовали? ТАК не сервис написания кода. Мы здесь, чтобы помочь, но вы должны показать, что вы пробовали, но это не сработало. Покажите, что ближе всего к работе.
  • 0
    Знаете ли вы или понимаете ли вы HTML-код, который вам потребуется для получения желаемых результатов?
Теги:
database

2 ответа

0

Групповой вывод лиги - это простой вопрос о том, как выполнить сортировку 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";
0

Я попытался каким-то образом, и это сработало для меня. Я надеюсь, что это сработает для вас... Посмотрите на код:

$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>";

Это очень просто, вы можете добавить дополнительные функции для улучшения его функциональности.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню