【问题标题】:select from table the columns stored in a variable using explode php使用explode php从表中选择存储在变量中的列
【发布时间】: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 "&lt;td&gt;" . $row['****'] . "&lt;/td&gt;";

我一直在尝试,但无法成功。

<?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 "&lt;td&gt;$country&lt;/td&gt;";
  • @clearshot66 列不固定。有一个下拉列表,用户可以在其中选择他们想要查看的列,并以这种格式存储 col1,col3,col9,col12,col21... 我想分解这个变量并只检索这些列的数据
  • 数据库列是固定的......

标签: php sql sql-server database html


【解决方案1】:

由于每一行本身都是一个关联数组,因此您可以循环遍历该数组。

foreach ($dbDB->query($query) as $row) {

    echo "<tr>";
    foreach ($row as $columnName => $columnValue) {
        echo "<td>" . $columnValue . "</td>";  
    }
    echo "</tr>";
}

如果在查询时为列设置别名,这种方法也可以使用。

(不过,您的 explode() 尝试应该已经奏效了...我看到的唯一问题是 $Col 行上缺少“;”)

【讨论】:

  • 机器人感谢您的回答,但仍然无法为我工作。它提取数据,但列加倍,每列在页面右侧显示两次。这是我的代码。你能检查一下吗?谢谢 query($query) as $row) { echo ""; foreach ($row as $columnName => $columnValue) { echo "" 。 $列值。 ""; } 回声 "";} ?>
猜你喜欢
  • 2014-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-11
  • 1970-01-01
  • 1970-01-01
  • 2016-03-02
  • 2017-07-15
相关资源
最近更新 更多