Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Utworzyć tabelę html z rowspan z tabeli mysql za pomocą jednego zapytania?

Fajne pytanie, obliczanie rozpiętości między wierszami odbywa się poprzez liczenie faktur. Oto kod, który wymyśliłem:

<?php

    /**
     * @author Truth
     * @copyright 2011
     */

    $dsn = "mysql:host=localhost;dbname=test";
    $dbc = new PDO($dsn, 'root', 'pass');

    $query = 'SELECT * FROM invoice';
    $stmt = $dbc->prepare($query);
    $stmt->execute();

    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
        $result[$row['client_id']][] = $row['invoice_id'];
    }

?>
<!DOCTYPE html>
<html>

    <head>
        <!-- Metas -->
        <meta http-equiv="content-type" content="utf-8" />
        <meta name="author" content="Truth" />

        <title>Invoice Rowspan Example</title>

    </head>

    <body>

        <table id="invoices" border="1">
            <thead>
                <th>Client</th>
                <th>Invoices</th>
            </thead>
            <tbody>
                <?php

                    foreach($result as $id => $invoices) {
                        echo '<tr>';
                        echo '<td rowspan='. count($invoices) . '>' . $id . '</td>';
                        $count = 0;
                        foreach ($invoices as $invoice) {
                            if ($count != 0) {
                                echo '<tr>';
                            }
                            echo "<td>$invoice</td>";
                            echo "</tr>";
                            $count++;
                        }
                    }

                ?>
            </tbody>
        </table>

    </body>
</html>

Spowoduje to wygenerowanie tabeli zgodnie z potrzebami. Jeśli jest coś, czego nie rozumiesz, skomentuj, a ja wyjaśnię



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pytanie dotyczące projektu bazy danych

  2. Pojawia się błąd:nie można połączyć się z serwerem MySQL na „SERVER_IP” (99)

  3. C# Używanie parametrów sql, które teraz nie będą działać

  4. MySQL:Ustaw domyślną wartość podczas aktualizacji

  5. wywoływanie procedury składowanej mysql z c#?