$ abc = array(1,2,3,4,5,6,7,8);根據一些限制在html表中顯示數據
$ xyz = array(a,b,c,d,e,f);
我想從上面兩個數組中檢索所需格式的數據(實際上這些數組是從數據庫表中生成的)。數據將顯示在HTML TABLE中。我已經使用PHP MYSQL。例如,顯示的值可能不是一個序列,但有兩個不同的數組。爲了更清楚我想說,奇數列(從第一列開始)將顯示array abc的值,甚至會顯示array xyz的值。 請幫我一把。提前致謝。
$ abc = array(1,2,3,4,5,6,7,8);根據一些限制在html表中顯示數據
$ xyz = array(a,b,c,d,e,f);
我想從上面兩個數組中檢索所需格式的數據(實際上這些數組是從數據庫表中生成的)。數據將顯示在HTML TABLE中。我已經使用PHP MYSQL。例如,顯示的值可能不是一個序列,但有兩個不同的數組。爲了更清楚我想說,奇數列(從第一列開始)將顯示array abc的值,甚至會顯示array xyz的值。 請幫我一把。提前致謝。
這是一個非常有趣的問題。我想我找到了一個解決方案。
function table (array $array1, array $array2, $splitIndex)
{
$rows = array();
$currentRow = 0;
// Make sure $array1 is the bigger of them
if (count ($array2) > count ($array1))
{
$arrayTemp = $array2;
$array2 = $array1;
$array1 = $arrayTemp;
}
// Loop over each element of the array
foreach ($array1 as $index => $arrayValue)
{
$rows [$currentRow] [] = $arrayValue;
if (isset ($array2 [$index]))
$rows [$currentRow] [] = $array2 [$index];
else
$rows [$currentRow] [] = '';
$currentRow = ($currentRow == $splitIndex ? 0 : $currentRow + 1);
}
$output = '<table>';
// Loop over the rows
foreach ($rows as $row)
{
$subOutput = '<tr>';
// Loop over the columns in the rows
foreach ($row as $element)
$subOutput .='<td>'. $element .'</td>';
$output .= $subOutput .'</tr>';
}
// Return the output altogether.
return $output .'</table>';
}
現在你可以使用:
echo table ([ 'i', 'b', 'a', 'e', 'b' ], ['1', '2', '3'], 2);
的2表明,它會分裂在每兩行,就像是在你的榜樣3。
感謝Aron,它根據我的需要工作,但可以限制表中的行數和列數,以便它只顯示適合表格的那些值。我也可以設置要顯示的數組中值的開始和結束範圍。希望你清楚。再次感謝你的幫助。 – 2015-02-08 17:51:46
我對腳本做了一些更改。現在有了更多定製選項的新語法。 https://gist.github.com/Xesau/66d74336d1b91f81ed44 開始和結束範圍版本:https://gist.github.com/Xesau/c78f5e72f53db228a00a *用途*: '回聲keyValueTable([ '一' =>'b'....],0,array(),0,'\t',$ startIndex,$ length);' – Xesau 2015-02-09 11:49:02
我無法調用該函數,我傳遞的參數爲空,請舉個例子。謝謝 – 2015-02-09 17:46:30
我們不能做你的工作。但起初,在我做任何事之前,我需要知道如何處理用戶數據。點擊_Go_後頁面是否重新加載?或者有沒有AJAX? – 2015-02-05 19:11:22
這個問題還不清楚,因爲(一方面)它沒有把這個分割的規則描述成列。如果$ abc遠遠長於$ xyz,會不會添加空列?另外,是否有特定的理由只有3行?除此之外,由於瓦茨拉夫提到的原因,這是一個糟糕的問題。 – GolezTrol 2015-02-08 09:30:17
你說得對,如果數組大小不匹配,它可能會添加空列,但邏輯是如果一個數組完成,另一個數組將從那裏追加。其實這是一個機構的考試座位計劃,他們希望自動生成不同課程的學生的卷號。例如假設物理學的學生將坐在第1,3,5行......和2,4,6 ......的化學位置上,並且如果座位留在奇數或偶數行,那麼生物學將從那裏繼續。儘管我知道它是一種批判邏輯,但我必須做到這一點。其他想法也表示讚賞。 – 2015-02-08 09:49:55