2011-10-30 35 views
1

我相信這個標題甚至不對。 這裏是問題,我有列結果 被顯示成這樣顯示列結果作爲行結果php

Column1   Column2    Column3 
result1   result3    result5 
result2   result4    result6 

但需要他們這樣的

Column1   Column2    Column3 
result1   result2    result3 
result4   result5    result6 

我的數組保存所有6個結果,所以,遠遠我看到我需要選擇每個0和2顯示在列1並繼續(數組從0開始)。

代碼是相當大的,但切換結果的主要部分是在這裏

$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>'; 
} 

所以這應該在這裏有某種分裂。這裏只是愚蠢的例子

$mycolumn[$result % X == X] 

我希望我沒有混淆你,你有想法。如果你問自己爲什麼我不只是做行而是列,答案是完整的CSS重建。惠特在這裏計算出我可以針對結果並保留列和css,因爲它們是

+0

爲什麼不使用'

'?這正是他們所使用的。 – str

+0

cmon表?沒辦法,必須留在div – Benn

+0

爲什麼?用於表格數據時表格不錯。 – str

回答

2

請勿使用($result/3),因爲您可以擁有seriuous rounding problem。 因爲對我來說不是很清楚你的增值經銷商的我發佈你的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

對不起。我贊成你的評論 – Peter