Wie kann ich automatisch alle 10 Spalten eine neue Zeile in eine Tabelle einfügen?

Ich habe 2 Abfragen, die 2 verschiedene Datensätze aus der Datenbank ziehen. Eine enthält den Header für eine Tabelle. Wenn die Gesamtergebnisse 10 sind, haben wir 10 Header für die Tabelle.

Die zweite enthält Datensätze mit jeweils einem Wert für jede Spalte. Wenn ich also 5 Datensätze habe, bedeutet dies 5 x 10 (Gesamtanzahl der Header) = 50 Datensätze im zweiten Datensatz.

Diese 50 Datensätze möchte ich in der Tabelle anzeigen.

Mein Ansatz ist es, einen Datensatz nach dem anderen anzuzeigen, aber nach jeweils 10 Datensätzen zu schließen und einen neuen für die nächste Zeile zu öffnen.

Ich bin mir nicht sicher, ob dies der beste Ansatz für dieses Problem ist, aber ich bin offen für bessere Ideen.

Angenommen, mein Ansatz ist ein guter Ansatz. Wie kann ich nach jeweils 10 Datensätzen eine neue Zeile in der Tabelle erstellen?

Ich habe versucht, dies mit der Mod-Operation in PHP zu erreichen, aber das funktioniert bei mir nicht.

Hier ist mein aktueller Code, der Daten anzeigt, aber nicht zur richtigen Zeit / am richtigen Ort hinzufügt.

Meine Frage ist, wie man diesen Code repariert, um die Resultate richtig anzuzeigen?

    //count of headers  
    $total_th = count($headers);

    //generate the headers
    $report_rows = '<thead><tr><th>Company Code</th>';
    foreach($headers AS $head){
        $report_rows .= '<th>'.$head['title'].'</th>';
    }   
    $report_rows .= '</tr></thead>';


    //count of the the actual results
    $total_results = count($results);

    //create the table body
    $report_rows .= '<tbody>';

    //loop all of the records
    for($i=0; $i< $total_results; ++$i){
    $row = $results[$i];

    //start new row "Add this only once per row
        if($i == 0 ||  $i % $total_th == 0){
        $report_rows .= '<tr>';
        $report_rows .= '<td>'.$row['company_code'].'</td>';
        }

    //display all answers
    $report_rows .= '<td>'.$row['answer'].'</td>';

    //close row if the $total_th is reached 
        if( $i % $total_th == 0){
        $report_rows .= '</tr>';
        }

    }
    //close tbody and table
    $report_rows .= '</tbody>';

echo '<table class="common2">';
echo $report_rows;
echo '</table>';

Antworten auf die Frage(1)

Ihre Antwort auf die Frage