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

Kiểm tra các hàng giống nhau trong vòng lặp while và đặt chúng vào một bảng riêng biệt

Trước tiên, bạn có thể tập hợp tất cả chúng vào một vùng chứa, sử dụng id s làm chìa khóa của bạn để chúng sẽ được nhóm lại với nhau. Sau đó, chỉ cần in chúng tương ứng:

$data = array();
while($row = $results->fetch_assoc()){
    $id = $row['id'];
    $name = $row['name'];
    $data[$id][] = $name; // group them
}

foreach($data as $id => $values) {
    // each grouped id will be printed in each table
    echo '<table>';
    // header
    echo '<tr>';
        echo '<td>ID</td>' . str_repeat("<td>$id</td>", count($values));
    echo '</tr>';

    echo '<tr>';
    echo '<td>Name</td>';
    foreach($values as $value) {
        echo "<td>$value</td>";
    }
    echo '</tr>';

    echo '</table><br/>';
}

Điều này sẽ hoạt động nếu các trường đó giống như vậy, nếu bạn cần một thứ gì đó năng động hơn, bạn cần một thứ nguyên khác và thay vì chỉ đẩy name , bạn sẽ cần đẩy toàn bộ hàng:

$results = $db->query('SELECT id, name, age FROM table1');

$data = array();
while($row = $results->fetch_assoc()){
    $id = $row['id']; unset($row['id']);
    $data[$id][] = $row; // group them
}

$fields = array('name', 'age');

foreach($data as $id => $values) {
    // each grouped id will be printed in each table
    echo '<table>';
    // header
    echo '<tr>';
        echo '<td>ID</td>' . str_repeat("<td>$id</td>", count($values));
    echo '</tr>';

    foreach($fields as $field) {
        // construct td
        $temp = '';
        echo "<tr><td>$field</td>";
        for($i = 0; $i < count($values); $i++) {
            $temp .= '<td>' . $values[$i][$field] . '</td>';
        }
        echo $temp; // constructed td
        echo '</tr>';

    }

    echo '</table><br/>';
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql - tìm kiếm giữa các ngày mà tất cả các ngày đều xuất hiện

  2. Di chuyển tệp mysql qua các máy chủ

  3. Làm thế nào để xóa tệp hoặc hình ảnh khỏi thư mục và cơ sở dữ liệu trong Laravel?

  4. PHP sử dụng regex để lặp và truy vấn mysql để xuất ra tệp excel

  5. PHP Lỗi nghiêm trọng Hết bộ nhớ