SQL - 条件WHERE

时间:2017-11-26 19:26:38

标签: php mysql wordpress

我在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;

提前感谢您的帮助。

0 个答案:

没有答案