Php Wordpress-Mysql:需要从表中提取值,并在字段中对其进行过滤;课程编号;从第二张桌子
我有两张桌子 第一个包含成员级别和相关课程的列表(例如:课程1分配给级别1,课程2分配给级别1,课程3分配给级别2) 第二个包含所有课程的列表。我只想列出与当前用户级别关联的课程。 于是我写道: 全球的Php Wordpress-Mysql:需要从表中提取值,并在字段中对其进行过滤;课程编号;从第二张桌子,php,arrays,wordpress,Php,Arrays,Wordpress,我有两张桌子 第一个包含成员级别和相关课程的列表(例如:课程1分配给级别1,课程2分配给级别1,课程3分配给级别2) 第二个包含所有课程的列表。我只想列出与当前用户级别关联的课程。 于是我写道: 全球的 $wpcwdb, $wpdb; if (!current_user_can('administrator')) { function get_user_roles_by_user_id( $user_id ) { $user = get_userdata
$wpcwdb, $wpdb;
if (!current_user_can('administrator')) {
function get_user_roles_by_user_id( $user_id ) {
$user = get_userdata( $user_id );
return empty( $user ) ? array() : $user->roles;
}
$user_id = get_current_user_id();
$user_ad_roles= get_user_roles_by_user_id($user_id);
$user_ad_roles= implode("','",$user_ad_roles);
echo $user_ad_roles;
// and this show the role (level) for the current user
// then interrogate the table 1
$SQL = "
SELECT course_id
FROM $wpcwdb->map_member_levels
WHERE member_level_id = '$user_ad_roles' ";
$corsi_del_livello = $wpdb->get_results($SQL);
//now I need to filter the second table on the results of this first query
$SQL = "
SELECT *
FROM $wpcwdb->courses
WHERE course_id IN(".implode(',',$corsi_del_livello).")
ORDER BY $orderBy $ordering";
$courses = $wpdb->get_results($SQL);
}
但它不起作用
在Wordpress中,我得到以下错误“可捕获的致命错误:类stdClass的对象无法转换为C:\xampp\htdocs\profad中的字符串。它\wp content\plugins\wp course\pages\page\u course\u das第79行的hboard.inc.php“
。第79行是第二个查询中的“WHERE”子句
有人能帮我吗?解决了!!
我在两个表之间建立了连接,代码如下:
global $wpcwdb, $wpdb;
if (!current_user_can('administrator')) {
function get_user_roles_by_user_id( $user_id ) {
$user = get_userdata( $user_id );
return empty( $user ) ? array() : $user->roles;
}
$user_id = get_current_user_id();
$user_ad_roles= get_user_roles_by_user_id($user_id);
$user_ad_roles= implode("','",$user_ad_roles);
echo $user_ad_roles;
$livelli= $wpcwdb->map_member_levels;
$corsi= $wpcwdb->courses;
$SQL = "
SELECT $livelli.course_id, $corsi.*
FROM $corsi INNER JOIN $livelli ON $corsi.course_id = $livelli.course_id
WHERE $livelli.member_level_id = '$user_ad_roles' ";
$courses = $wpdb->get_results($SQL);
}
您是否有错误日志或可以更详细地描述当前行为?在wordpress中,我得到以下错误“可捕获致命错误:类stdClass的对象无法转换为C:\xampp\htdocs\profad.it\wp content\plugins\wp course\pages\page\u course\u dashboard.inc.php中的字符串”,第79行在第二个查询中“WHERE”条款。