我正在通过PHP从MYSQL DB中提取所有细节,并在一个简单的while循环中循环以写出HTML中的输出。
$queryDB = mysql_query("SELECT * FROM TABLEA")
while($info = mysql_fetch_array( $queryDB ))
echo " <tr> ";
echo "<td ".$td_color." > " . $info['column1'] . "</td> ";
echo "<td ".$td_color." > " . $info['column2'] . "</td> ";
echo "<td align='center' ".$td_color." > " . $info['column3'] . "</td> ";
echo "<td align='center' ".$td_color." > " . $info['column4'] . "</td> ";
echo "<td ".$td_color." > " . $info['column5'] . "</td> ";
echo "<td ".$td_color." > " . $info['column6'] . "</td> ";
echo "</tr> ";
直到最近,这还可以正常工作,但最近发生的事情是,其中一列已经从一个简单的输入增长到包含由;分隔的多个条目。
例如:Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6 |
-----------------------------------------------------------------
ABC | DEF | HIG | 123; JKL | 324 | 345 |
123 | GHK | GHY |1 ; 3; KL | 546 | 546 |
但是检查这个有点麻烦,因此我希望我的代码将第4列的内容分开,并重复这些行以具有单个条目,例如:
Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6 |
-----------------------------------------------------------------
ABC | DEF | HIG | 123 | 324 | 345 |
ABC | DEF | HIG | JKL | 324 | 345 |
123 | GHK | GHY |1 | 546 | 546 |
123 | GHK | GHY |3 | 546 | 546 |
123 | GHK | GHY |KL | 546 | 546 |
我知道我可能要把第4列放到一个数组中,但我只是不理解或不知道如何将它们组合在一起。
根据分列的位置,我将展开该列并循环遍历元素。如果你知道分列总是在第4列:
$queryDB = mysql_query("SELECT * FROM TABLEA")
while($info = mysql_fetch_array( $queryDB )){
$elements = explode(";", $info['column4']);
foreach($elements as $element){
echo " <tr> ";
echo "<td ".$td_color." > " . $info['column1'] . "</td> ";
echo "<td ".$td_color." > " . $info['column2'] . "</td> ";
echo "<td align='center' ".$td_color." > " . $info['column3'] . "</td> ";
echo "<td align='center' ".$td_color." > " . $element . "</td> ";
echo "<td ".$td_color." > " . $info['column5'] . "</td> ";
echo "<td ".$td_color." > " . $info['column6'] . "</td> ";
echo "</tr> ";
}
}