Php 将数据库信息显示到html表格Wordpress中

Php 将数据库信息显示到html表格Wordpress中,php,html,mysql,database,wordpress,Php,Html,Mysql,Database,Wordpress,我的数据库中有一个名为:persona的表。 我只需要将这个表中的数据检索到wordpress页面内的html表中。到目前为止,这就是我所拥有的: <table border="1"> <tr> <th>Firstname</th> <th>Lastname</th> <th>Points</th> </tr> <tr> <?php global $wp

我的数据库中有一个名为:persona的表。 我只需要将这个表中的数据检索到wordpress页面内的html表中。到目前为止,这就是我所拥有的:

<table border="1">
<tr>
 <th>Firstname</th>
 <th>Lastname</th>
 <th>Points</th>
</tr>
<tr>
  <?php
    global $wpdb;
    $result = $wpdb->get_results ( "SELECT * FROM persona" );
    foreach ( $result as $print )   {
        echo '<td>' $print->ID_per.'</td>';
        }
  ?>
</tr>               

名字
姓氏
要点

我在我正在处理的特定页面中添加并发布了它,但当我刷新页面时,它只显示页面中打印的代码。我不知道我是否把代码放在正确的地方,或者我不知道放在哪里

请看下面的图片:

鉴于您的情况,最简单、最好的方法是在主题中添加一个

如果将此代码添加到主题的
functions.php
文件中,则可以通过将
[persona table]
添加到任何页面或帖子中,随时随地显示信息

// add the shortcode [persona-table], tell WP which function to call
add_shortcode( 'persona-table', 'persona_table_shortcode' );

// this function generates the shortcode output
function persona_table_shortcode( $args ) {
    global $wpdb;
    // Shortcodes RETURN content, so store in a variable to return
    $content = '<table>';
    $content .= '</tr><th>Firstname</th><th>Lastname</th><th>Points</th></tr>';
    $results = $wpdb->get_results( ' SELECT * FROM persona' );
    foreach ( $results AS $row ) {
        $content = '<tr>';
        // Modify these to match the database structure
        $content .= '<td>' . $row->firstname . '</td>';
        $content .= '<td>' . $row->lastname . '</td>';
        $content .= '<td>' . $row->ID_per . '</td>';
        $content .= '</tr>';
    }
    $content .= '</table>';

    // return the table
    return $content;
}
//添加短代码[persona table],告诉WP要调用哪个函数
添加_短代码('persona table','persona_table_短代码');
//此函数生成短代码输出
函数persona\u table\u短代码($args){
全球$wpdb;
//短代码返回内容,因此存储在变量中以返回
$content='';
$content.='FirstnameLastnamePoints';
$results=$wpdb->get_results('SELECT*FROM persona');
foreach($结果为$行){
$content='';
//修改它们以匹配数据库结构
$content.=''.$row->firstname';
$content.=''.$row->lastname';
$content.=''.$row->ID_per';
$content.='';
}
$content.='';
//还桌
返回$content;
}
尝试以下方法:

function db_short() {
    global $wpdb;
    $result = $wpdb->get_results ( "SELECT * FROM persona" );
    foreach ( $result as $print )   {
        echo '<td>' $print->ID_per.'</td>';
    }
}
add_shortcode( 'show_db_info', 'db_short' );
函数db_short(){
全球$wpdb;
$result=$wpdb->get_results(“从角色中选择*);
foreach($打印结果){
回显“$print->ID_per.”;
}
}
添加快捷码('show_db_info','db_short');

然后,您可以在放置php代码的地方插入短代码[show_db_info]。如果您想进一步编辑php,您可以在这个函数中自由地进行编辑。如果您需要从数据库中进行不同的选择,您可以添加短代码属性,但仅列出这些属性就足够了。这将进入functions.php

您不能将php代码放入任何wordpress页面/帖子中,您应该创建一个模板并在页面中使用它。更好的做法是在主题的functions.php文件中创建一个短代码,允许您使用短代码来完成此操作。更好的选择!让我给你看一下code@ArsalanMithani我只是克隆了page.php文件并放入了该内容,够了吗?@ArsalanMithani是的,请问我如何才能将此代码添加到函数中?嘿,caleb!这个解决方案奏效了。只是出于某种原因,它没有采取表格样式没有问题,卡莱布,我已经解决了这个问题。我现在想做的是设置表的样式,但是如果我在元素上添加类,这将不起作用:$content.=''$行->ID_per.';有什么建议吗?提前感谢这就是您要做的:
$content.=''..
-但是您必须加载样式表,并排除没有应用样式表的原因。当您说:“您的样式表已加载”时,您的意思是在函数中加载style.css文件?“您的样式表”-将样式添加到表格样式的任何位置。“已加载”意味着您查看页面的源代码,并仔细检查所述样式表是否已正确加载。或者,使用浏览器控制台/检查器检查元素是否正在加载等。感谢您的帮助@L。我尝试了你的建议,但由于某种原因,$print行给了我一个错误。谢谢你,所以muchI刚刚根据你的代码写了一个简短的片段,@cale_b的回答更加完整和准确。祝你的项目好运!但是我很感谢你的帮助,谢谢你。祝您有个美好的一天