Вот мой ассоциативный массив:
$req_data1[]=array( 'depart1'=>$_REQUEST['to'], 'd_time1'=>$d_time5, 'stop'=>"", 'leave_stop'=>"", 'arrival1'=>$_REQUEST['from'], 'a_time1'=>$end_time5, 'price1'=>intval($final_price), 'air_line'=>"xxxxx");
Вот мой алгоритм сортировки:
foreach ($req_data as $key => $row) { $depart[$key] = $row['depart']; $d_time[$key] = $row['d_time']; $stop[$key] = $row['stop']; $leave_stop[$key] = $row['leave_stop']; $arrival[$key] = $row['arrival']; $a_time[$key] = $row['a_time']; $price[$key] = $row['price']; } array_multisort($price,SORT_ASC, $req_data);
Я показываю данные после сортировки:
foreach($req_data as $key=>$row) { echo "</br>"; foreach($row as $key2=>$row2){ echo $row2; } }
Моя проблема в том, что я хочу поместить этот массив в таблицу HTML, но не знаю, как это сделать. Это мой код, который я пробовал до сих пор, но его не работает:
$cols = 5; echo "<table border=\"5\" cellpadding=\"10\">"; for ($r=0; $r < count($row2); $r++) { echo "<tr>"; for ($c=0; $c<$cols; $c++) { ?> <td> <?php $input[$r+$c] ?> </td> <?php } echo "</tr>"; $r += $c; } echo "</table>"; ?>
Может ли кто-нибудь сказать мне, что не так с моим кодом, или как я могу отображать эти отсортированные данные в таблицу? Благодарю.
Почему бы просто не изменить цикл, который вы уже используете для отображения данных?
echo "<table>"; foreach($req_data as $key=>$row) { echo "<tr>"; foreach($row as $key2=>$row2){ echo "<td>" . $row2 . "</td>"; } echo "</tr>"; } echo "</table>";
$toOutput = '<table>'; $showHeader = true; $memberData = $reportObj->getMemberData(); while($row = mysql_fetch_assoc($memberData)) { $toOutput .= '<tr>'; //Outputs a header if nessicary if($showHeader) { $keys = array_keys($row); for($i=0;$i<count($keys);$i++) { $toOutput .= '<td>' . $keys[$i] . '</td>'; } $toOutput .= '</tr><tr>'; $showHeader = false; } //Outputs the row $values = array_values($row); for($i=0;$i<count($values);$i++) { $toOutput .= '<td>' . $values[$i] . '</td>'; } $toOutput .= '</tr>'; } $toOutput .= '</table>'; echo 'Test page'; echo $toOutput;
Извините за necro, но я действительно искал, есть ли функция сборки для этого, когда я писал это.
echo "<table border=\"5\" cellpadding=\"10\">"; for ($r=0; $r < count($row2); $r++) { echo "<tr>"; for ($c=0; $c<$cols; $c++) { ?> <td> <?php $input[$r+$c] ?> </td> <?php } echo "</tr>"; $r += $c; } echo "</table>";?>
Попробуйте что-то вроде этого
echo "<table>"; for($r=0;$r<count($row2);$r++){ echo "<tr>"; for($c=0;$c<$cols;$c++){ echo "<td>".[VARIABLE YOU WANT TO PRINT]."</td>"; } echo "</tr>"; } echo "</table>";
function DumpTable($array_assoc) { if (is_array($array_assoc)) { echo '<table class="table">'; echo '<thead>'; echo '<tr>'; list($table_title) = $array_assoc; foreach ($table_title as $key => &$value): echo '<th>' . $key . '</th>'; endforeach; echo '</tr>'; echo '</thead>'; foreach ($array_assoc as &$master): echo '<tr>'; foreach ($master as &$slave): echo '<td>' . $slave . '</td>'; endforeach; echo '</tr>'; endforeach; echo '</table>'; return; } }