Mysql
 sql >> база данни >  >> RDS >> Mysql

Проверете за същите редове в цикъл while и ги поставете в отделна таблица

Можете просто да ги съберете първо в контейнер, като използвате id s като вашите ключове, така че да бъдат групирани заедно. След това просто ги отпечатайте съответно:

$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/>';
}

Това ще работи, ако тези полета са точно такива, ако имате нужда от нещо по-динамично, имате нужда от друго измерение и вместо просто да натискате name , ще трябва да натиснете целия ред:

$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. Python MySQLdb итерирайте през таблицата

  2. AWS Aurora MySQL без сървър:как да се свържете от MySQL Workbench

  3. PHP казва, че не е избрана база данни дори след използване на mysqli_select_db()

  4. mysql избере int като валута или преобразува int във валутен формат?

  5. SQL заявка за множество таблици, с множество съединения и поле с колони със списък, разделен със запетая