是否可以将MySQL表中多列的数据合并到HTML表格中的单个列中,其中每个记录都是HTML表格中的新行?
在此示例中,MySQL中的表有两列(Col1,Col2)。 Col1中的数据显示在HTML表的第一列中。来自MySQL中Col2的数据显示在HTML表的第二列中。换句话说,HTML表格匹配MySQL表格的布局。
<?php
$con = new mysqli('domain', 'username', 'password', 'database');
$sql = "select * from table1";
$sql_query = mysqli_query($con, $sql);
while ($row = mysqli_fetch_array($sql_query)) {
$col1 = $row['col1'];
$col2 = $row['col2'];
echo "<table>";
echo "<tr>";
echo "<td> $col1 </td>";
echo "<td> $col2 </td>";
echo "</tr>";
echo "</table>";
}
?>
MySQL表:
| - - - - | - - - - - - - |
| Col1 | Col2 |
| - - - - | - - - - - - - |
| Blue | Car |
| Green | Truck |
| Yellow | Van |
| - - - - | - - - - - - - |
HTML表:
| - - - - | - - - - - - - |
| Column1 | Column2 |
| - - - - | - - - - - - - |
| Blue | Car |
| Green | Truck |
| Yellow | Van |
| - - - - | - - - - - - - |
如果将$ col1和$ col2放在单个TD标记内,则确实会在HTML表格的Col1中显示$ col1和$ col2。但是,$ col1和$ col2都显示在同一个单元格中。
<?php
$con = new mysqli('domain', 'username', 'password', 'database');
$sql = "select * from table1";
$sql_query = mysqli_query($con, $sql);
while ($row = mysqli_fetch_array($sql_query)) {
$col1 = $row['col1'];
$col2 = $row['col2'];
echo "<table>";
echo "<tr>";
echo "<td> $col1 $col2 </td>";
echo "</tr>";
echo "</table>";
}
?>
HTML表:
| - - - - - - - - - - - - |
| Column1 |
| - - - - - - - - - - - - |
| Blue Car |
| Green Truck |
| Yellow Van |
| - - - - - - - - - - - - |
是否可以在HTML表的Column1中回显$ Col1和$ Col2,并让每个记录都在HTML表中的各自行中?
| - - - - - - - - - - - - |
| Column1 |
| - - - - - - - - - - - - |
| Blue |
| Green |
| Yellow |
| Car |
| Truck |
| Van |
| - - - - - - - - - - - - |
答案 0 :(得分:1)
您的HTML有效,但不正确。这可能是结果表的结构。
创建一个新数组,用于存储col2
值,以便在所有col1
值之后显示。在为显示的第二个col1
值再次完成col2
值循环后。
$col2 = array();
echo "<table>";
while ($row = mysqli_fetch_array($sql_query)) {
$col1 = $row['col1'];
$col2[] = $row['col2'];
echo "<tr>";
echo "<td> $col1 </td>";
echo "</tr>";
}
for($i = 0; $ < count($col2); $i++){
echo "<tr>";
echo "<td> $col2[$i] </td>";
echo "</tr>";
}
echo "</table>";
答案 1 :(得分:1)
无需两个循环。它可以在单循环中完成。将col1和col2值分隔为不同的变量。最后打印出来。
<?php
$con = new mysqli('domain', 'username', 'password', 'database');
$sql = "select * from table1";
$sql_query = mysqli_query($con, $sql);
$str = "<table>";
$str_col2 = "";
while ($row = mysqli_fetch_array($sql_query)) {
$col1 = $row['col1'];
$col2 = $row['col2'];
$str .= "<tr><td> $col1 </td></tr>";
$str_col2 .= "<tr><td> $col2 </td></tr>";
}
echo $str . $str_col2 . "</table>";
?>