У меня есть 2 запроса, которые вытаскивают 2 разных набора данных из базы данных, сначала содержат заголовок таблицы, поэтому, если итоговые результаты равны 10, у нас есть 10 заголовков к таблице.
второй будет иметь записи, каждая с одним значением для каждого столбца. поэтому, если у меня есть 5 записей, это означает, что 5 x 10 (итоговые заголовки) = 50 записей во втором наборе данных.
эти 50 записей, которые я хочу отобразить в таблице.
Мой подход состоит в том, чтобы отображать одну запись за раз, но после каждых 10 записей закрыть и открыть новую для следующей строки.
Я не уверен, что это лучший подход к этой проблеме, но я открыт для лучших идей.
Предполагая, что мой подход является хорошим подходом, как я могу создать новую строку в таблице после каждых 10 записей.
Я попытался это сделать, используя операцию Mod в PHP, но это не работает для меня.
Вот мой текущий код, отображающий данные, но он не добавляется в нужное время / место.
Мой вопрос заключается в том, как добавить исправление этого кода для правильного отображения результатов?
//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>';
Вы можете использовать работу модуля .
$i = 1; foreach($records as $record){ echo $record; if ($i % 10 == 0) echo '<hr />'; $i++; }