HTML表在使用$ WPDB时与PHP组成MYSQL

问题描述

嗨,我正在尝试使用$ wpdb连接到MysqL表时在wordpress代码内用PHP创建一个表。我已经写了/找到了如何使用基本的PHP和传统的连接来做到这一点,但是我编写的代码无法正常工作,我确定我错过了一些东西。有人可以在下面的代码中告诉我我哪里出错了吗?谢谢。

全局$ wpdb;

$wpdb->query( $wpdb->prepare("SELECT * FROM wp_wpdatatable_4"));
    $result=MysqL_query(query);
    $numfields = MysqL_num_fields($result);
    echo "<table border=1><tr>";

    for ($i=0; $i < $numfields; $i++) // Header
    { echo '<th>'.MysqL_field_name($result,$i).'</th>'; }

    echo "</tr>";

    while
    ($res=MysqL_fetch_row($result))   //you may use MysqL_fatch_array($result) which can hendel both $res[name] and $res[1]
    {
    echo"
    <tr>
    <td>  $res[0]</td>
    <td>  $res[1]</td>
    <td>  $res[2]</td>
    .
    .
    .
    </tr>";
    }

    echo"</table>";

}

解决方法

您的代码使用$ wpdb和php mysql函数的组合。

也许只使用$ wpdb

global $wpdb;

$data_table_4 = $wpdb->get_results( "SELECT * FROM wp_wpdatatable_4" ); 

if ( ! empty( $data_table_4 ) ) {
    echo '<table>';
    if ( ! empty( $data_table_4 ) ) {
        foreach ( $data_table_4 as $data_table_4_row ) { 
            echo '<tr>';
            foreach ( $data_table_4_row as $row_item ) {
                echo '<td>' . $row_item . '</td>';
            }
            echo '</tr>';
        }
    }
    echo '</table>';    
}