【发布时间】:2017-08-23 18:37:04
【问题描述】:
我正在使用此代码从 SQL Server 获取数据并将其显示在表格中
<?php
$query = "SELECT Country,OrderNumber,Region,ShipDate,ProducedDate FROM database.Orders";
foreach ($dbDB->query($query) as $row) {
echo "<tr>";
echo "<td>" . $row['Country'] . "</td>";
echo "<td>" . $row['OrderNumber'] . "</td>";
echo "<td>" . $row['Region'] . "</td>";
echo "<td>" . $row['ShipDate'] . "</td>";
echo "<td>" . $row['ProducedDate'] . "</td>";
echo "</tr>"; }
?>
我有一个变量,其中存储了我需要用逗号分隔的列,例如 $col = "Country,OrderNumber,Region,ShipDate,ProducedDate"
我想分解这个变量,然后在第一个foreach 中使用foreach 来获取数据,而不是多次使用echo "<td>" . $row['****'] . "</td>";
我一直在尝试,但无法成功。
<?php
$Col= "Country,OrderNumber,Region,ShipDate,ProducedDate"
$query = "SELECT $Col FROM database.Orders";
$cols = explode(",",$col);
foreach ($dbDB->query($query) as $row) {
echo "<tr>";
foreach ($cols as $c ) {
echo "<td>" . $row[$c] . "</td>";
}
echo "</tr>";
}
?>
有什么建议吗?谢谢。
【问题讨论】:
-
您是否只是希望查询中的数据以后可重用,以便关闭循环?不清楚你想要什么。
-
@clearshot66 基本上我想避免使用 . $row['Country'] 。 , . $row['OrderNumber'] ., . $row['Region'] .....并使用带有explode和foreach值的变量它将检索数据
-
为什么?这没有任何意义。如果您不想多次输入,只需重新分配
$country = $row['county'];,然后使用echo "<td>$country</td>"; -
@clearshot66 列不固定。有一个下拉列表,用户可以在其中选择他们想要查看的列,并以这种格式存储 col1,col3,col9,col12,col21... 我想分解这个变量并只检索这些列的数据
-
数据库列是固定的......
标签: php sql sql-server database html