自动列HTML
我想知道是否可以用HTML和PHP创建自动列 我目前正在使用类似以下内容:自动列HTML,html,Html,我想知道是否可以用HTML和PHP创建自动列 我目前正在使用类似以下内容: <table> <tr> <td> key1: value1<br /> key2: value2<br /> key3: value3<br /> </td> <td> key4: value4<br /> key5: val
<table>
<tr>
<td>
key1: value1<br />
key2: value2<br />
key3: value3<br />
</td>
<td>
key4: value4<br />
key5: value5<br />
key6: value6<br />
</td>
</tr>
</table>
我希望在一个PHP循环中合并这两行,因此我希望有一个这样的结构,但不仅能够生成一行,而且能够生成两行:
<table>
<tr>
<td>
key1: value1<br />
key2: value2<br />
key3: value3<br />
key4: value4<br />
key5: value5<br />
key6: value6<br />
</td>
</tr>
</table>
我想您会发现最好的方法是将原始标记与2列一起使用。即使您找到了一些css技巧来消除第二列,您也很可能需要对键/值对进行排序,以使它们显示您想要的方式。我的意思是如果你想要这个:
key1:val1 | key4:val4 |
key2:val2 | key5:val5 |
key3:val3 | key6:val6 |
您需要编写以下代码:
<tr>
<td>
key1: value1<br />
key4: value4<br />
key2: value2<br />
key5: value5<br />
key3: value3<br />
key6: value6<br />
</td>
</tr>
那将是一片混乱。也许还有其他方法可以实现您的目标?如果您在值中进行硬编码,您可以使用以下两列:
<table>
<tr>
<td>key1: value1</td>
<td>key4: value4</td>
</tr>
<tr>
<td>key2: value2</td>
<td>key5: value5</td>
</tr>
<tr>
<td>key3: value3</td>
<td>key6: value6</td>
<tr>
</table>
key1: value1 key4: value4
key2: value2 key5: value5
如果您想动态地执行列,并且有一半和一半,您可以使用以下php。它需要两个循环,但会得到你想要的
<td>
<?php for($i = 1; $i <= (sizeof($data)/2); $i++) {
print $data[$i] + "<br/>";
}
?>
</td>
<td>
<?php for($i = (sizeof($data)/2) + 1; $i <= sizeof($data); $i++) {
print $data[$i] + "<br/>";
}
?>
</td>
具有可配置Colmun数量的更具动态性的一个:
$columns = 4; // Change to whatever you want
$aData['key1'] = 'col A';
$aData['key2'] = 'col B';
$aData['key3'] = 'col C';
$aData['key4'] = 'col D';
$aData['key5'] = 'col E';
$aData['key6'] = 'col F';
$aData['key7'] = 'col G';
$aData['key8'] = 'col H';
$aData['key9'] = 'col I';
$aData['key10'] = 'col J';
$aColumns = [];
foreach( $aData as $key => $value ) {
$aColumns[] = $key . ": " . $value;
}
$count_columns = count( $aColumns );
// by row
$current_row = 0;
echo "<table border='1'>";
while( ($current_row)*$columns < $count_columns ) {
echo "<tr>";
$offset = $current_row *$columns;
for( $col = 0; $col < $columns; $col++ ) {
echo "<td>";
echo $aColumns[$col +$offset] ?? "";
echo "</td>";
}
echo "</tr>";
$current_row++;
}
echo "</table>";
echo "<hr>";
// or by Col
$count_rows = ceil( $count_columns /$columns );
echo "<table border='1'>";
for( $row = 0; $row < $count_rows; $row++ ) {
echo "<tr>";
for( $col = 0; $col < $columns; $col++ ) {
echo "<td>";
echo $aColumns[$row +($col*$count_rows) ] ?? "";
echo "</td>";
}
echo "</tr>";
$current_row++;
}
echo "</table>";
输出
关键字1:col Akey2:col Bkey3:col Ckey4:col Dkey5:col Ekey6:col Fkey7:col Gkey8:col Hkey9:col Ikey10:col J
key1:col-Akey4:col-Dkey7:col-Gkey10:col-Jkey2:col-Bkey5:col-Ekey8:col-Hkey3:col-Ckey6:col-Fkey9:col-i如果我使用例如:for$i=1,我必须做什么;我看了一下我刚才添加的底部