0 レビュー
1 回答
php-クエリを実行できません
クエリを実行しようとしていますが、結果が表示されません。私のテーブルは次のとおりです:
TABLE teacher_student_conn:
id, teacher_id, student_id, created_at
TABLE users:
user_id, username, password, school_id, class, division, role_id, deactivated_at
TABLE schools:
school_id, school_name
教師の学校にいるこれらの生徒だけを見せたいのですが、彼は教えていません-教師を $this->uri->segment(3)
と学校から連れて行きます-<からcode> $this->uri->segment(4)。管理者が生徒を教師に追加できるため、これらの生徒を表示する必要があります。
私は、先生の学校にいるこれらの生徒を私に見せるために私の質問をする方法を正確に知りません、そして、彼は彼らに教えません。
クエリの私の試みは次のとおりです:
public function select_students(){
$ this-> db-> select('users.user_id、users.username、users.school_id、users.class、users.division、users.role_id、schools.school_name、schools.region、class_divisions.division');
$ this-> db-> from('users');
$ this-> db-> join('teacher_student_conn'、'teacher_student_conn.student_id = users.user_id'、'left');
$ this-> db-> join('teacher_student_conn AS T'、'T.teacher_id = users.user_id'、'left');
$ this-> db-> join('class_divisions'、'class_divisions.id = users.division'、'left');
$ this-> db-> join('schools'、'schools.school_id = users.school_id'、'left');
$ this-> db-> where('(users.deactivate_at = "0000-00-00 00:00:00" OR users.deactivate_at IS NULL)AND users.role_id = 1');
$ this-> db-> where('users.school_id'、$this->uri->segment(4));
$ this-> db-> where('teacher_student_conn.teacher_id'、$this->uri->segment(3));
$ this-> db-> where( "teacher_student_conn.student_id IS NULL");
$ result = $ this-> db-> get();
$ result-> result();を返します。
}
わからない
0
レビュー
答え :
解決策:
これは単なるSQLクエリ形式であり、クエリを印刷してPHPmyadmin SQLに貼り付けるか、$ this-> db-> last_query();をエコーします。
public function select_students() {
$query = "SELECT users.user_id, users.username, users.school_id, users.class, users.division, users.role_id, schools.school_name, schools.region,class_divisions.division FROM users"
. "LEFT JOIN teacher_student_conn ON teacher_student_conn.student_id=users.user_id"
. "LEFT JOIN teacher_student_conn as T ON T.teacher_id=users.user_id"
. "LEFT JOIN class_divisions ON class_divisions.id=users.division"
. "LEFT JOIN schools ON schools.school_id=users.school_id"
. "WHERE (users.deactivated_at = '0000-00-00 00:00:00' OR users.deactivated_at IS NULL) AND users.role_id = 1 AND "
. "users.school_id = ".$this->uri->segment(4)." AND teacher_student_conn.teacher_id = ".$this->uri->segment(4)." AND teacher_student_conn.student_id IS NULL";
$result = $this->db->query($query);
return $result->result();
}
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。