我似乎无法到达foreach循环的底部..
我有一张桌子:
ID Col1 Col2 Col3 Col4...
001 some data to display
002 more info to display
....
我想动态构建一个表格,如下所示,但只有1个搜索行......
因此,如果搜索符合ID = 2,那么您将得到:
ID 002
Col1 more
Col2 info
Col3 to
Col4 display
...
结果中的行数将来自读取的列数。
目前我不得不使用一个可怕的固定渲染,如果数据中的列数发生变化,它将不会动态。
echo '<table class="main"><tr><th colspan="2">Component Information for '.$sheetData[$key]["A"].'</th></tr>';
echo '<tr><td>'. $sheetData[1]["A"]. '</td><td></td><td>'.$sheetData[$key]["A"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["B"]. '</td><td></td><td>'.$sheetData[$key]["B"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["C"]. '</td><td></td><td>'.$sheetData[$key]["C"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["D"]. '</td><td></td><td>'.$sheetData[$key]["D"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["E"]. '</td><td></td><td>'.$sheetData[$key]["E"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["F"]. '</td><td></td><td>'.$sheetData[$key]["F"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["G"]. '</td><td></td><td>'.$sheetData[$key]["G"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["H"]. '</td><td></td><td>'.$sheetData[$key]["H"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["I"]. '</td><td></td><td>'.$sheetData[$key]["I"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["J"]. '</td><td></td><td>'.$sheetData[$key]["J"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["K"]. '</td><td></td><td>'.$sheetData[$key]["K"]. '</td></tr>';
echo '<tr><td>'. $sheetData[1]["L"]. '</td><td></td><td>'.$sheetData[$key]["L"]. '</td></tr>';
帮助,我只是无法绕过循环......
答案 0 :(得分:0)
IF 我了解您要执行的操作,您可以循环浏览$sheetData[$key]
并使用这些键拉出左侧的所有$sheetData[1]
项的表。我不确定我的解释有多清楚,但它看起来像这样:
// echo your one-time, static html
echo '<table class="main"><tr><th colspan="2">Component Information for '.$sheetData[$key]["A"].'</th></tr>';
// looping through should produce the same output as your example and handle dynamically-sized arrays
foreach($sheetData[$key] as $subKey => $subData) {
echo '<tr><td>'. $sheetData[1][$subKey]. '</td><td>'.$sheetData[$key][$subKey]. '</td></tr>';
}
// close the table
echo '</table>';