Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Mysql hiển thị hàng dưới dạng cột

Trước tiên, bạn cần chuyển đổi tất cả dữ liệu trong một mảng tạm thời trước khi có thể xuất lại. Tôi sẽ cung cấp cho bạn 2 phương pháp để thực hiện việc này.

Phương pháp 1:chỉ cần tìm nạp mọi hàng và chuyển đổi chỉ mục hàng bằng chỉ mục cột:

<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>

Phương pháp 2:Tìm nạp tất cả các hàng trong một mảng để nó trở thành một mảng của mảng và sử dụng array_map với cuộc gọi lại NULL để chuyển vị nó (Xem ví dụ 4 tại http://php.net/manual /en/ Chức năng.array-map.php ) .Bạn cần thêm tên khóa học trong mảng ban đầu để đưa chúng vào kết quả cuối cùng.

<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. Dữ liệu FLOT từ MySQL thông qua PHP?

  2. Xây dựng câu lệnh UPDATE bằng cách sử dụng mảng kết hợp trong PHP

  3. Điều khoản LIMIT thay thế trong JPQL là gì?

  4. Sự khác biệt giữa SET autocommit =1 và BẮT ĐẦU GIAO DỊCH trong mysql (Tôi đã bỏ lỡ điều gì đó?)

  5. Ngăn các bản ghi trùng lặp vào một bảng bằng PHP