因此,我做了2页:订阅页和下载页。用户可以订阅页面上的内容。他们的选择将保存在数据库中。每个用户都有不同的选择。这个系统工作正常。但是,我不知道如何从数据库中检索用户的选择。选项存储在数据库表wpex_usermeta
中名为meta_value
的列中。
示例:
如您所见,具有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>
答案 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);