从数据库检索特定数据

时间:2020-04-06 12:15:21

标签: php wordpress

因此,我做了2页:订阅页和下载页。用户可以订阅页面上的内容。他们的选择将保存在数据库中。每个用户都有不同的选择。这个系统工作正常。但是,我不知道如何从数据库中检索用户的选择。选项存储在数据库表wpex_usermeta中名为meta_value的列中。

示例:

enter image description here

如您所见,具有user_id 3的用户选择了22nl。如何从数据库中检索用户的选择。

我的php代码:

<?php

// check connection
if ((!$conn_id) || (!$login_result)) { 
    echo "Het spijt ons, er is momenteel geen connectie met de server.";
    // echo "Attempted to connect to $ftp_server for user $ftp_user_name"; 
    exit; 
} else {
     // echo "upload is gelukt";
}

global $wpdb;

$table_name = $wpdb->prefix . 'usermeta';
// This retrieves the data from the database
$retrieve_data = $wpdb->get_results( "SELECT meta_value FROM {$table_name}" );

?>
<form action="#" enctype="multipart/form-data" method="post">
    <?php wp_nonce_field( 'set_programma_action', 'set_programma' ); ?>
    <table>
        <?php foreach ( $retrieve_data as $retrieved_data ) { ?>
            <tr>
                <th>Programma:</th>
                <td style="vertical-align: middle;"><?php echo esc_html( $retrieved_data->meta_value ); ?></td>
                <th>
                    <button name="programma" type="submit" value="<?php echo esc_attr( $retrieved_data->meta_value ); ?>">Abonneer</button>
                </th>
            </tr>
        <?php } ?>
    </table>
</form>
?>
<table>
  <tr>
     <th>Programma:</th><td style="vertical-align: middle;"><?php echo "<a href='$mp3_url'>$filename</a>"; ?></td>

  </tr>
</table>

2 个答案:

答案 0 :(得分:0)

您必须仅选择特定的数据库行-您必须具有user_id

SELECT meta_value FROM {$table_name} WHERE user_id=USER_ID_VALUE AND meta_key='programma';

答案 1 :(得分:0)

不要直接查询user_meta表。而是使用get_user_meta()

$choice = get_user_meta(wp_get_current_user()->ID, 'programma', true);