Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bergabung dengan tabel di MySql dengan satu bidang umum tetapi nilai yang berbeda untuk bidang umum

Anda harus memiliki satu tabel yang berisi kolom berikut:

id (unik, utama), nama pengguna, kata sandi, peran (INT, akan ditetapkan 1-3 untuk kepala sekolah, staf atau inti tergantung pada pengguna)

Selain itu

Anda dapat memiliki tabel lain yang disebut peran jika Anda ingin menyiapkan seperti ini:

id (unik, utama), judul (pilihan untuk judul adalah kepala sekolah, staf, atau inti)

Saat pengguna masuk, lakukan sesuatu seperti

if($role == 1){
// redirect to principal page
}
elseif($role == 2){
// redirect to staff page
}
elseif($role == 3){
// redirect to corres page
}

Saya tidak yakin tetapi saya percaya ini akan berhasil juga. Coba kueri ini.

(SELECT '1' AS role FROM table1 WHERE username = $username AND password = $password)
UNION ALL
(SELECT '2' AS role FROM table2 WHERE username = $username AND password = $password)
UNION ALL
(SELECT '3' AS role FROM table3 WHERE username = $username AND password = $password)

Dengan asumsi pengguna hanya terletak di SATU dari tiga tabel itu, maka itu harus cocok dengan nama pengguna dan kata sandi dan mencari tahu dari tabel mana pengguna berasal. Kemudian Anda dapat menarik peran dengan menggunakan

$role = $row['role'];

Jika kombinasi nama pengguna/kata sandi salah maka $role akan kosong atau Anda dapat mengambil jumlah baris [menggunakan $iscorrectuser =mysql_num_rows($query)] di mana ada kecocokan dan jumlah baris akan menjadi 0. Anda kemudian dapat arahkan ulang pengguna yang mencoba masuk dengan pesan kesalahan "Login tidak berhasil".



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kode Django atau pemicu MySQL

  2. mysqli_fetch_array() mengharapkan parameter 1 menjadi mysqli_result, boolean diberikan

  3. Laravel 4 memigrasi tabel dasar tidak ditemukan

  4. Mengapa \G di SELECT * FROM table_name\G?

  5. ORM mana yang harus saya gunakan untuk Node.js dan MySQL?