WordPress $ wpdb-> get_results显示表中的所有行

时间:2014-08-04 11:21:51

标签: php mysql wordpress

在WordPress中,我有一个名为wp_users的表 我想在自定义的html表中显示所有这些内容。所以,我的查询就像这样

<table>
    <tr>
      <td>First Name</td>
      <td>Last Name</td>
      <td> Email </td>
    </tr>
    <?php
    global $wpdb;
    $rows = $wpdb->get_results( "SELECT * FROM wp_users");
    foreach ( $rows as $row ) ?>
      <tr>
        <td>echo $row->first_name;</td>
        <td>echo $row->first_name;</td>
        <td> echo $row->first_name;</td>
      </tr>
    <?php 
    } 
    ?>

这个给出了第一个表中所有first_name的结果,就像这个

<tr>
  <td>Test 1Test 2</td>
  <td>Test 12Test 2</td>
  <td> test@test.comtest2@test.com</td>
</tr>

但我希望结果像这样

<table>
  <tr>
    <td>First Name</td>
    <td>Last Name</td>
    <td> Email </td>
  </tr>
  <tr>
    <td>Test 1</td>
    <td>Test 12</td>
    <td> test@test.com</td>
  </tr>
  <tr>
    <td>Test 2</td>
    <td>Test 2</td>
    <td> test2@test.com</td>
  </tr>
</table>

那么,有人可以告诉我该怎么做吗? 任何帮助和建议都会非常明显。感谢

1 个答案:

答案 0 :(得分:1)

答案很简单,您只需要在foreach循环中提供正确的列名即可。 现在,您只是尝试打印名字。而且在foreach循环之后缺少括号“ {”

<table>
   <tr>
    <td>First Name</td>
    <td>Last Name</td>
    <td> Email </td>           
   </tr>
  <?php
    global $wpdb;
    $rows = $wpdb->get_results( "SELECT * FROM wp_users");
    foreach ( $rows as $row ) 
    {
    ?>
    <tr>
      <td>echo $row->first_name;</td>
      <td>echo $row->Lastname;</td>
      <td> echo $row->Email;</td>           
   </tr>

   <?php }
  ?>