Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mysql menampilkan baris sebagai kolom

Anda harus terlebih dahulu mentranspos semua data dalam array sementara sebelum Anda dapat menampilkannya lagi. Saya akan memberi Anda 2 metode untuk melakukan ini.

Metode 1:ambil saja setiap baris dan ganti indeks baris dengan indeks kolom:

<table>
    <tr>
        <th>Subject</th>
        <th>year1</th>
        <th>year2</th>
        <th>year3</th>
    </tr>

    <?php
    $mysqli = new mysqli('localhost', 'user', 'pass', 'database');
    $id = 1;
    $report = array();
    $columnIndex = 0;
    $query = $mysqli->query("SELECT HTML, CSS, Js FROM term WHERE Stdid='$id'");
    while ($results = $query->fetch_assoc()) {
        foreach ($results as $course => $score) {
            $report[$course][$columnIndex] = $score;
        }
        $columnIndex++;
    }

    foreach ($report as $course => $results) { ?>
        <tr>
            <th><?php echo $course; ?></th>
            <?php foreach ($results as $score) { ?>
                <th><?php echo $score; ?></th>
            <?php } ?>
        </tr>
    <?php } ?>
</table>

Metode 2:Ambil semua baris dalam larik, sehingga menjadi larik larik dan gunakan array_map dengan panggilan balik NULL untuk mengubah posisinya (Lihat contoh 4 di http://php.net/manual /en/function.array-map.php ).Anda perlu menambahkan nama kursus dalam larik awal untuk memasukkannya ke dalam hasil akhir.

<table>
    <tr>
        <th>Subject</th>
        <th>year1</th>
        <th>year2</th>
        <th>year3</th>
    </tr>

    <?php
    $mysqli = new mysqli('localhost', 'user', 'pass', 'database');
    $id = 1;
    $data = array(array('HTML', 'CSS', 'Js'));
    $query = $mysqli->query("SELECT HTML, CSS, Js FROM term WHERE Stdid='$id'");
    while ($row = $query->fetch_assoc())
    {
        $data[] = $row;
    }
    $data = call_user_func_array('array_map', array_merge(array(NULL), $data));
    ?>

    <?php
    foreach ($data as $row): ?>
        <tr>
            <?php foreach ($row as $value): ?>
                <th><?php echo $value?></th>
            <?php endforeach; ?>
        </tr>
    <?php endforeach; ?>
</table>


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memiliki kolom stempel waktu yang Dibuat dan Terakhir Diperbarui di MySQL 4.0

  2. Bagaimana menangani kesalahan untuk entri duplikat?

  3. Memasukkan beberapa baris dari formulir php ke dalam database

  4. Mendapatkan kueri peringkat PHP MYSQL ke peringkat berdasarkan jumlah total skor

  5. Dapatkan semua data POST dan kirim email