2011-10-30 3 views
1

제목이이 기사에서 맞지 않을 것이라고 확신합니다. 여기 내가 내 배열은 모두 6 개 결과 등을 보유하고 3 열이열 결과를 행 결과로 표시 PHP

Column1   Column2    Column3 
result1   result3    result5 
result2   result4    result6 

같이 표시됩니다 6 결과 을 가지고 있지만이

Column1   Column2    Column3 
result1   result2    result3 
result4   result5    result6 

처럼 그들을 필요가 문제입니다 멀리 내가 column1에 표시하고 계속 (배열은 0에서 시작) 0과 2를 선택해야합니다.

코드 꽤 큰하지만 스위칭 결과 주요 부분 분할 일종의 있어야 그래서 여기 여기

$count = count($result); 
for ($result = 0; $result < $count; $result++) { 
        $getorder= ""; 
        if ($count != 1) { 
         if ($result == 0) $getorder= "first"; 
         if ($result == $count - 1) $getorder= "last"; 
        } 


    echo '<div class="'.$getorder.'width'.intval(100/$count).'">'.$mycolumn[$result].'</div>'; 
} 

이다. 여기 그냥 바보 같은 예입니다.

나는 당신을 혼란스럽게 만들지 않았 으면 좋겠다. 왜 내가 열 대신에 행을하는지 스스로에게 묻는다면, 대답은 완전한 CSS 재구성입니다. 부엉이 여기 알아 냈어 결과를 목표로하고 열과 CSS를 그대로 둘 수있다

+0

왜 '

'을 사용하지 않습니까? 이것은 정확하게 그들이 사용되는 것입니다. – str

+0

cmon 테이블? 절대적으로, div와 함께 있어야합니다 – Benn

+0

왜? 표 형식의 데이터에 사용하면 표가 나쁘지 않습니다. – str

답변

2

seriuous rounding problem을 가질 수 있으므로 ($result/3)을 사용하지 마십시오. 나에게 있기 때문에 그것은 내가 당신의 PHP 일반적인 코드를 게시하여 바르의 이름을 아주 명확하지 않다과는 다음과 같습니다

echo '<div class="result">'; 
for($i = 0; $i < $columnNum; $i++) 
{ 
    echo '<div class="column">'; 
    for($j = $i; $j < $resultNum; $j += $columnNum) 
     echo '<label class="value">' . array[j] . "</label>"; 
    echo '</div>'; 
} 
echo '</div>'; 

은 당신의 요구로 바르의 이름을 변경하고이 문제에 대한 솔루션입니다.

+0

이것은 대답이 아니지만, 덧글 – Peter

+0

@ PeterSzymkowski 절대적으로 잘못되었습니다. 이것은 그의 문제에 대한 해결책이다. 의견은 어떻게 될 수 있습니까? OP가 var 이름을 변경하면 이것은 그가하고 싶은 것을 정확하게 할 것입니다. –

+0

감사합니다! joomla man @AurelioDeRosa peter도 옳았지 만 문제는 자신의 입장에서 이해할 수 없다. 이것은 단지 $ mycolumn [($ result/3) + $ result % 3]이라고 잘못 생각 하는가? – Benn

1
$mycolumn[intval($result/3) + intval(($result % 3) * $count/3)] 

완벽하게 작동 데모 http://codepad.viper-7.com/hdSi6b

.

AurelioDeRosa가 말한대로 전체 코드를 변경할 수 있습니다.

+0

내 코드를 사용할 수 있다고 주장 했으므로, 맞습니다. 나는 더 많은 downvote를 이해하지 못합니다. –

+0

죄송합니다. 필자는 귀하의 의견을 upvoted – Peter