2012-11-24 1 views
-1

난이 같은 배열이표 행수 혼란 PHP의 Foreach 어레이

Array ([0] => 8 [1] => 8 [2] => 1 [3]=> 7 [4] => 8) 

내가 PHP에 foreach는 상기를 사용하는 배열 표의 행을 형성. 그러나 위의 배열을 보면 3 행에 7 TD, 4 행에 8 TD가 생성됩니다. 그 빈 TD를 행의 첫 번째 행에서 3 행으로 이동시켜야합니다. 대신 행의 끝에 그것을 표시해야합니다. 가능합니까?

<table border="1"><tbody> 
    <tr align="right"> 
    <td align="right" colspan="0" rowspan="0" id="td_02">02</td> 
    <td align="right" colspan="0" rowspan="0" id="td_06">06</td> 
    <td align="right" colspan="0" rowspan="0" id="td_10">10</td> 
    <td align="right" colspan="0" rowspan="0" id="td_14">14</td> 
    <td align="right" colspan="0" rowspan="0" id="td_18">18</td> 
    <td align="right" colspan="0" rowspan="0" id="td_22">22</td> 
    <td align="right" colspan="0" rowspan="0" id="td_26">26</td> 
    <td align="right" colspan="0" rowspan="0" id="td_30">30</td> 
    </tr> 
    <tr align="right"> 
    <td align="right" colspan="0" rowspan="0" id="td_01">01</td> 
    <td align="right" colspan="0" rowspan="0" id="td_05">05</td> 
    <td align="right" colspan="0" rowspan="0" id="td_09">09</td> 
    <td align="right" colspan="0" rowspan="0" id="td_13">13</td> 
    <td align="right" colspan="0" rowspan="0" id="td_17">17</td> 
    <td align="right" colspan="0" rowspan="0" id="td_21">21</td> 
    <td align="right" colspan="0" rowspan="0" id="td_25">25</td> 
    <td align="right" colspan="0" rowspan="0" id="td_29">29</td> 
    </tr> 
    <tr align="right"> 
    <td>XX</td> 
    <td>XX</td> 
    <td>XX</td> 
    <td>XX</td> 
    <td>XX</td> 
    <td>XX</td> 
    <td>XX</td> 
    <td>XX</td> 
    </tr> 
    <tr align="right"> 
    <td align="right" colspan="0" rowspan="0" id="td_03">03</td> 
    <td align="right" colspan="0" rowspan="0" id="td_07">07</td> 
    <td align="right" colspan="0" rowspan="0" id="td_11">11</td> 
    <td align="right" colspan="0" rowspan="0" id="td_15">15</td> 
    <td align="right" colspan="0" rowspan="0" id="td_19">19</td> 
    <td align="right" colspan="0" rowspan="0" id="td_23">23</td> 
    <td align="right" colspan="0" rowspan="0" id="td_27">27</td> 
    </tr> 
    <tr align="right"> 
    <td align="right" colspan="0" rowspan="0" id="td_31">31</td> 
    <td align="right" colspan="0" rowspan="0" id="td_04">04</td> 
    <td align="right" colspan="0" rowspan="0" id="td_08">08</td> 
    <td align="right" colspan="0" rowspan="0" id="td_12">12</td> 
    <td align="right" colspan="0" rowspan="0" id="td_16">16</td> 
    <td align="right" colspan="0" rowspan="0" id="td_20">20</td> 
    <td align="right" colspan="0" rowspan="0" id="td_24">24</td> 
    <td align="right" colspan="0" rowspan="0" id="td_28">28</td> 
    </tr> 
</tbody></table> 

+4

코드를 보여줍니다. –

+1

또한 html 부분을 만든 PHP 코드를 보여줍니다. 또한 테이블이 처음 게시물에서 100 % 결론을 내리지 않은 것처럼 보이는 방법을 가장 잘 설명합니다. – Thomas

+0

제 3 행에 'blank TD'가 보이지 않습니다 ... – arkascha

답변

1

나는 있습니다 .. "빈"TD 문제를 방지하기

한 가지 방법은 모든 행이이 있는지 확인하는 것입니다 당신이 당신의 테이블을 생성하는 방법을 전혀 생각이있어,하지만 한 같은 양의 td는 어레이의 값을 찾아서 수행 할 수 있습니다. 예를 들어

:

<?php 
    $row_array = array(8, 8, 1, 7, 8); 
    $num_tds = max($row_array); 
?> 
<table border="1" cellpadding="3" cellspacing="3"> 
    <?php foreach($row_array as $row) : ?> 
    <tr> 
     <?php for ($i = 0; $i < $num_tds; $i++) : ?> 
     <td>&nbsp;</td> 
     <?php endfor; ?> 
    </tr> 
    <?php endforeach; ?> 
</table> 

실제로 코드를보고 난 그냥 장님 솔루션을 제공하고있다하지만 난 그게 도움이되기를 바랍니다없이.

+0

감사 데이 일 .. 아이디어가 작동합니다! –