如何在WordPress数据库中显示自定义表中的数据?

时间:2012-05-12 作者:Rasha

我想从我在wordpress数据库中创建的自定义表中检索数据,并将其显示在wordpress页面中,如posts

提前感谢

4 个回复
SO网友:Kirill Fuchs

下面是一个示例代码,它将获取数据,然后显示数据:

    global $wpdb;
    // this adds the prefix which is set by the user upon instillation of wordpress
    $table_name = $wpdb->prefix . "your_table_name";
    // this will get the data from your table
    $retrieve_data = $wpdb->get_results( "SELECT * FROM $table_name" );
?>
<ul>
    foreach ($retrieve_data as $retrieved_data){ ?>
        <li><?php echo $retrieved_data->column_name;?></li>
        <li><?php echo $retrieved_data->another_column_name;?></li>
        <li><?php echo $retrieved_data->as_many_columns_as_you_have;?></li>
    <?php 
        }
    ?>
</ul>
<?php
最好为变量和函数使用唯一的名称,因此您可能希望为所有变量或函数添加唯一的前缀,即:($prefix\\u table\\u name,其中“prefix”是唯一的,例如主题或插件的缩写。)

参考-wpdb - codex

SO网友:ABHISHEK GUPTA

请尝试使用此代码在wordpress中显示数据库中的所有记录。为此,首先需要创建一个文件。php,然后将此文件用作模板。这段代码会很好地工作,谢谢大家。

<?php /* Template Name: your template name */ ?>
<?php get_header(); ?>
<table border="1">
    <tr>
     <th>ID</th>
     <th>FULL NAME</th>
     <th>BRANCH NAME</th>
     <th>E-MAIL ID</th>
     <th>Mobile Number</th>
     <th>Course</th>
     <th>Address</th>
     <th>City</th>
     <th>Zip Code</th>
    </tr>

      <?php

        global $wpdb;
        $result = $wpdb->get_results( "SELECT * FROM wp_example");
        foreach ( $result as $print )   { ?>
          <tr>
                  <td>  <?php echo $print->id; ?> </td>
                  <td><?php echo $print->firstname; ?> </td>
                  <td> <?php echo $print->branch ; ?> </td>
                  <td> <?php echo $print->email; ?> </td>
                  <td><?php echo $print->mobile; ?> </td>
                  <td> <?php echo $print->course; ?> </td>
                  <td> <?php echo $print->address; ?> </td>
                  <td><?php echo $print->city; ?> </td>
                  <td> <?php echo $print->zip ; ?> </td>
          </tr>
            <?php }
      ?>

</table>
<?php get_header(); ?>

SO网友:mor7ifer

听起来你在找$wpdb. 您需要编写自己的所有函数等。我强烈建议坚持既定的命名约定(比如the_blahget_blah, 可能带有前缀),以便于可读性和一致性。

SO网友:Motahar Hossain

修改@Kirill Fuchs的答案。如果在短代码上使用此代码,则可能会产生问题。它可能以错误的顺序显示输出。为了避免这种情况,我用return代替echo。尝试通过以下方式在短代码上执行此操作:

add_shortcode(\'custom_db\', function(){
global $wpdb;
$table_name = $wpdb->prefix . \'liveshoutbox\';
// this will get the data from your table
$retrieve_data = $wpdb->get_results( "SELECT * FROM $table_name" );
foreach ($retrieve_data as $retrieved_data){ 
    $f_name = $retrieved_data->column_name;
    $f_text = $retrieved_data->another_column_name;
}
    $output = \'<div class="wrap">
                    <h2>Table of clients.</h2>
                    <table>
                      <tr>
                        <th>First Name</th>
                        <th>Last Name</th>
                        <th>Email</th>
                      </tr> 
                      <tr>
                        <td>\'. $f_name .\'</td>
                        <td>\'. $f_text .\'</td>
                      </tr>
                    </table>            
                </div>\';
    return $output;
} );

结束

相关推荐

Corrupt Wordpress Database

我认为这是最奇怪的文字印刷问题。一个拥有大量帖子数据库的客户网站已经有了自己的想法。前一分钟一切似乎都很好,接下来的帖子、类别和标签都不见了。此时仪表板告诉我9个类别中有2309个帖子,但当我单击admin中的categories链接时,列表中没有任何帖子。我可以在admin中看到所有帖子,但尽管它们过去被分配到类别并列出标签,但现在它们都“未分类”,没有标签。很明显,wordpress数据库在某种程度上已经损坏,但从哪里开始尝试修复呢!?以下是我迄今为止测试的内容:插件–我关闭了所有当前的插件。主题–我