我在SQL中相当新手,但我很确定这个,假设有效,但事实并非如此! :-)脚本非常简单,但我需要先描述它。
我有2个表 - 一个表有教师数据(wp_user),另一个表有学生数据(wp_results)。
这两张桌子有一个识别器 - schoolid。我想做的是简单的工作 - 根据他的同学向所有他/她的学生展示相同的学校ID。
$teacher = wp_get_current_user();
global $wpdb;
$get_student = "SELECT
wp_results.WORLDPLACE,wp_results.EUPLACE,wp_results.CZPLACE
FROM wp_results
WHERE wp_results.SCHOOLID = $teacher->schoolid";
$results_of_teachers_students = $wpdb->get_results($get_student);
echo $results_of_teachers_students;
foreach ($results_of_teachers_students as $value){
echo '<tr><td>'.$value->WORLDPLACE.'</td>';
echo '<tr><td>'.$value->EUPLACE.'</td>';
echo '<tr><td>'.$value->CZPLACE.'</td>';
}
这两行代码只能获取并显示教师学校ID。
$teacher = wp_get_current_user();
echo $teacher->schoolid;
这说:从名为“wp_results”的表中选择WORLDPLACE,EUPLACE和CZPLACE但是,只有当教师的学习者ID(此ID存储为变量)等于来自wp_results的schoolid时。
global $wpdb;
$get_student = ("SELECT
wp_results.WORLDPLACE,wp_results.EUPLACE,wp_results.CZPLACE FROM
wp_results WHERE wp_results.SCHOOLID = $teacher->schoolid");
其余的代码非常清楚:将所有数据存储到变量中并将它们打印为表格。
$results_of_teachers_students = $wpdb->get_results($get_student);
foreach ($results_of_teachers_students as $value){
echo '<tr><td>'.$value->WORLDPLACE.'</td>';
echo '<tr><td>'.$value->EUPLACE.'</td>';
echo '<tr><td>'.$value->CZPLACE.'</td>';
但我没有得到任何结果。你看到我不知道吗? :-)提前感谢您的帮助: - )
wp_results表的表示:
SCHOOLID WORLDPLACE EUPLACE CZPLACE FIRSTNAME LASTNAME EMAIL
wp_users表的表示:
ID user_login user_pass user_nicename user_email user_url user_registered user_activation_key user_status display_name
正如你所看到的,在WP_users表中没有列“SCHOOLID” - 这个schoolid在wp_usermeta中,但是谁在乎,因为我可以把它称为变量:
$teacher = wp_get_current_user();
echo $teacher->schoolid;
提前感谢您的帮助。