2017-09-13 107 views
1

我试图在html表中显示来自不同mysql表的数据。我遇到的问题是它当前显示在同一列中。我想在每个sql数据的表中有两个单独的列。在单独的html表格列中显示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>"; 

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

+0

显示的最后一行中的所有数据是什么。这不会起作用 – R1ddler

+0

这两个列表总是保证具有相同的长度? $ centr中的第一条记录与$ namelist中的第一条记录之间是否存在有意义的关系,证明它们是并排显示的?所有其他人都一样吗?感觉就像看着表名一样,你可能应该用INNER JOIN作为一个查询来解决这个问题?然后记录在一个结果集中彼此相邻。但是我不能确定没有看到表格结构和关系。 – ADyson

回答

0

我想这是你想要

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>"; 
+0

这将重复_every_行上的所有$ centr值。不知道这是想要的。问题涉及两列,但是这会创建'sizeof($ centr)'额外的列 – ADyson

+0

不行,这是行不通的。正如ADyson所说,它重复了$ namelist每一行上的所有$ centr值。 – R1ddler

+0

好..你究竟想要什么?,你能打印出想要的结果 –