用php创建html表
发布时间:2020-12-13 17:30:46 所属栏目:PHP教程 来源:网络整理
导读:我很高兴陷入困境: mysql表:tableexample与列(flightnumber,company,datearrive,timeleave,timearrive) 我在哪里生成这样的数组: Array[0] - Array[0][1] = 1000 - Array[0][2] = Company A - Array[0][3] = 2014-05-10 - Array[0][4] = 10:00:00 - Array
我很高兴陷入困境:
mysql表:tableexample与列(flightnumber,company,datearrive,timeleave,timearrive) 我在哪里生成这样的数组: Array[0] - Array[0][1] => 1000 - Array[0][2] => Company A - Array[0][3] => 2014-05-10 - Array[0][4] => 10:00:00 - Array[0][5] => 15:00:00 Array[1] - Array[1][1] => 2000 - Array[1][2] => Company A - Array[1][3] => 2014-05-11 - Array[1][4] => 10:00:00 - Array[1][5] => 15:00:00 Array[2] - Array[2][1] => 3000 - Array[2][2] => Company B - Array[2][3] => 2014-05-10 - Array[2][4] => 10:00:00 - Array[2][5] => 15:00:00 Array[3] - Array[3][1] => 4000 - Array[3][2] => Company B - Array[3][3] => 2014-05-11 - Array[3][4] => 16:00:00 - Array[0][5] => 19:00:00 然后我需要将它放在一个html表中: <p>....................| 2014-05-10|2014-05-11 |</p> <p>10:00:00 - 15:00:00 | Company A |...........|</p> <p>10:00:00 - 15:00:00 | Company B | Company A |</p> <p>16:00:00 - 19:00:00 | ..........| Company B |</p> 我已经: 用日期填充桌子的头部,但现在我被卡住…. <thead> <?php echo "<tr>"; for ($row = 0; $row < 5;) { $dia=$array[$row][2]; echo "<th>Dia " . $dia . "</th>"; $i=$row; for ($rownext = ($row+1); $rownext < 5;){ if ($array[$rownext][2]==$dia){ $i++; }; $rownext++; }; $row=($i+1); }; echo "</tr>"; ?> </thead> 解决方法
这可能会更加整洁,但我试图尽可能地保持分离并在整个过程中进行评论,以便您了解其工作原理.看起来应该这样做:
$details = array( 1 => array( 1 => 1000,2 => 'Company A',3 => '2014-05-10',4 => '10:00:00',5 => '15:00:00',),2 => array( 1 => 1000,3 => '2014-05-11',3 => array( 1 => 1000,2 => 'Company B',4 => array( 1 => 1000,4 => '16:00:00',5 => '19:00:00',) ); // Format our data into something we can use more easily $flight_dates = array(); $times = array(); $dates = array(); foreach ($details as $flight_details) { $company_name = $flight_details[2]; $date = $flight_details[3]; $time = $flight_details[4] . ' - ' . $flight_details[5]; // Keep a unique record of each date,and the times of flights $dates[$date] = 1; $times[$time] = 1; // Record which date/time each company is flying $flight_dates[$date][$time][] = $company_name; } // Create the table header $html = '<table border="1">'; $html .= '<thead>'; $html .= '<tr>'; $html .= '<th> </th>'; foreach ($dates as $date => $value1) { $html .= '<th>' . $date . '</th>'; } $html .= '</tr>'; // Create the rows in the table foreach ($times as $time => $value1) { // Loop through each flight time $html .= '<tr>'; $html .= '<td>' . $time . '</td>'; // The first column is always the time foreach ($dates as $date => $value2) { // Loop through each date if (!empty($flight_dates[$date][$time])) { // Check if flights exist at the current time $html .= '<td>' . implode(',',$flight_dates[$date][$time]) . '</td>'; // List companies } else { // No flights $html .= '<td> </td>'; // Leave cell blank } } $html .= '</tr>'; } $html .= '</table>'; echo $html; 用它做了一个codepad,不显示为烦人的表,但是你可以复制它给你的html输出,看看它是什么样的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |