【问题标题】:Display sql tables in separate html table columns在单独的 html 表列中显示 sql 表
【发布时间】:2017-09-13 12:49:44
【问题描述】:

我正在尝试在 html 表中显示来自不同 mysql 表的数据。我遇到的问题是它当前显示在同一列中。我想在表中为每个 sql 数据有两个单独的列。

这是我的代码:

global $wpdb;
$centr = $wpdb->get_results('SELECT meta_value FROM `wp__frm_item_metas` WHERE `item_id` = 2');
$namelist = $wpdb->get_results('SELECT name FROM `wp__frm_fields` WHERE form_id = 2');
echo "<table>";
if ( !empty( $centr ) ) {
    foreach ($namelist as $key) {
            # code...
        echo "<tr><td>" . $key->name . "</tr></td>";
    }
    foreach ( $centr as $r ) {

        echo"<tr><td>" . $r->meta_value . "</tr></td>";

    }
}
echo "</table>";

我希望第二个回显在新列中开始,而不是在同一列中显示更多行。

【问题讨论】:

  • 显示最后一行的所有数据。那行不通
  • 这两个列表是否总是保证长度相同? $centr 中的第一条记录和 $namelist 中的第一条记录之间是否存在有意义的关系,可以证明它们并排显示是合理的?其他所有人都一样吗?感觉就像,查看表名,您可能应该将其作为一个使用 INNER JOIN 的查询来解决?然后记录在一个结果集中彼此相邻出现。但如果没有看到表结构和关系,我无法确定。

标签: php html forms


【解决方案1】:

我想这就是你想要的

echo "<table>";
    if ( !empty( $centr ) ) {
       echo "<tr><td>";
             foreach ($namelist as $key) {
                echo "<table><tr><td>" . $key->name . "</td></tr></table>";
             }
        echo "</td><td>";
             foreach ( $centr as $r ) {
                    echo"<table><tr><td>" . $r->meta_value . "</td></tr></table>";
                }   
       echo "</td></tr>";
    }
    echo "</table>";

【讨论】:

  • 这将在 每一 行重复所有 $centr 值。不确定这就是想要的。问题涉及两列,但这会创建sizeof($centr) 额外列
  • 不,这行不通。正如 ADyson 所说,它在 $namelist 的每一行上重复所有 $centr 值。
  • ok..你真正想要什么?,你能打印出想要的结果吗
  • 两者的长度相同。名称列表包含字段的名称,并且中心包含插入到所述字段中的值。所以基本上我想要的是显示一个表格,其中第一列包含字段名称列表,第二列包含其各自的值。例如第 1 列:gyazo.com/764c074f307331346603465f585ba9c7 第 2 列:gyazo.com/50163667b078ecb5ffa51f45c216d60e
  • 得到了想要的结果
猜你喜欢
  • 2014-05-27
  • 1970-01-01
  • 2012-01-13
  • 2021-03-04
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 1970-01-01
  • 2021-09-30
相关资源
最近更新 更多