안녕 누군가가 나에게 또 다른 질문을 통해 지난 밤이 코드의 일부를 쓸 수있었습니다.주문 HTML 테이블 세포는
기본적으로 $ 결과는 영화의 배열입니다. 첫 번째 글자가 배열에서 변경 될 때마다 별도의 항목을 포함하도록 형식을 지정했습니다.
while (false !== ($entry = readdir($handle))) {
if($entry == "." or $entry == "..")
continue;
if($i == 0) {
array_push($results,substr($entry, 0,1));
} else if (substr($entry, 0,1) != substr($lastEntry, 0,1)) {
array_push($results,substr($entry, 0,1));
}
$lastEntry = $entry;
array_push($results,$entry);
$i++;
}
이 지금과 같은 배열 결과 :
Array (
[0] => 0
[1] => 007, A View to a Kill (1985)
[2] => 1
[3] => 127 Hours (2010)
[4] => A
[5] => A Clockwork Orange (1971)
[6] => B
[7] => Back to the Future (1985)
[8] => Butterfly on a Wheel (2007)
[9] => C
[10] => Carnage (2011)
[11] => Casino (1995)
[12] => D
[13] => Defiance (2008)
)
그래서 기본적으로 나는 각 인덱스를 제공하는 테이블을 생성 할 (0,1
이
는 것을 수행하는 코드입니다 , A, C, etc.) 다른 CSS 클래스에 2의 rowspan을 지정하십시오. 나는 올바른 표를 만든다. 아래의 코드는 rowspan = 2 인 셀을 추가하고 다음 행에 number_of_cols - $ indexRow가 인쇄 된 경우 $ indexRow를 증가시킵니다. 위 행의 rowspan = 2 셀은 현재 행의 셀 중 하나를 차지합니다.$NUM_COLUMNS = 3;
$numRows = count($results)/$NUM_COLUMNS;
if (count($results) % $NUM_COLUMNS > 0) {
$numRows += 1;
}
echo "<div align=\"center\"><table>";
$i=0;
$indexRow=0;
for ($i = 0; $i < $numRows; $i++) {
echo "<tr>\n";
$index = $i;
$j=0;
if($indexRow > 0) {
$j+=$indexRow;
$indexRow=0;
}
while ($j < $NUM_COLUMNS) {
$entry = '';
if ($index < count($results)) {
$entry = $results[$index];
}
if(strlen($entry) < 2) {
echo "\t<td rowspan=\"2\" class=\"movieindex\">" . $entry . "</td>\n";
$indexRow++;
} else {
echo "\t<td>" . $entry . "</td>\n";
}
$index += $numRows;
$j++;
}
echo "</tr>\n";
}
echo "</table></div>";
실제로 실제 영화는 rowspan = 2 셀을 사용하여 올바르게 정렬되지 않습니다. 영화는 세로로 정렬해야하지만 인덱스 셀에서 벗어나야합니다. 이 아이디어를 어떻게 피할 수 있을지 모르겠습니다. 더 이상 설명이 필요
<div align="center">
<table>
<tr>
<td rowspan="2" class="movieindex">0</td>
<td>Hancock (2008)</td>
<td>Sin City (2005)</td>
</tr>
<tr>
<td>Hangover (2009)</td>
<td>Snow White (1987)</td>
</tr>
<tr>
<td>007, A View to a Kill (1985)</td>
<td>Happy Feet Two (2011)</td>
<td>Step Brothers (2008)</td>
</tr>
경우 그냥 물어 내가 수정하겠습니다 :
<div align="center">
<table>
<tr>
<td rowspan="2" class="movieindex">0</td>
<td>Hancock (2008)</td>
<td>Sin City (2005)</td>
</tr>
<tr>
<td>007, A View to a Kill (1985)</td>
<td>Hangover (2009)</td>
</tr>
<tr>
<td>007, Diamonds Are Forever (1971)</td>
<td>Happy Feet Two (2011)</td>
<td>Snow White (1987)</td>
</tr>
이 내가 원하는 무엇인가 :
이
내가 얻을 테이블입니다. 기본적으로 내가 부탁 한 것은 정확히 어떻게 셀을 수직으로 정렬 하는가입니다. 당신이 당신의 인덱스 후 배열에 자리 표시자를 추가 할 수 있습니다, 나는 내 댓글 말했다 같이 더러운 솔루션으로, http://imageshack.us/f/163/exampletable.png/
질문은 무엇을? – Zombaya
내 게시물의 절반은 잘 렸습니다. 지금 편집하겠습니다. 5-10 분이 걸릴 수도 있습니다. –
@ Zombaya 편집 됨 : –