Cara Select Data dengan Kondisi ID / Level Tertentu. Select atau milih data pada query database khususnya mysql banyak sekali cara yang bisa dilakukan. Namun untu kali ini kondisi yang saya alami adalah dengan memilih dengan isi baris dari rentan nilai tertentu tertentu.
Studi kasus yang saya alami Saya akan memilih atau menselect sebuah tabel user pada aplikasi login. Yang mana pada tabel tersebut terdiri dari:
Tb_user:
– idUser
– nama
– username
– password
– level
Untuk level Pada kasus saya ada 3, yaitu:
– level 1 = admin
– level 2 = pabrikan
– level 3 = pemasar
– level 4 = pelanggan
Pada level tersebut saya akan menggunakan 2 level yaitu 2 dan 3 yang akan saya select pada kasus saya ini, yaitu pada aplikasi web service. Dan yang saya inginkan adalah ketika saya menginputkan username dan password maka yang terpilih antar pemasar dan juga pabrikan.
Query salah 1:
SELECT * FROM user WHERE username = ‘$us’ AND password = ‘$pass’ AND level = ‘2’ OR level = ‘3’
Pada query ini memang tidak sepenuhnya salah, namun yang muncul malah user sebagai level admin.
Query salah 2:
SELECT * FROM user WHERE username = ‘$us’ AND password = ‘$pass’ AND level = ‘2,3’
Pada query diatas juga tidak sepenuhnya salah, namun yang terbaca ketika saya masukkan dengan level pabrikan berhasil, namun jika saya masuk dengan pemasaran tidak mendapat data pemasar, walaupun querynya benar.
Dan untuk menyelesaikan ini, saya menggunakan query berikut ini:
Query benar
SELECT * FROM user WHERE username = ‘$us’ AND password = ‘$pass’ AND level IN (‘2’,’3’)
Nah dengan query diatas ternyata hasil yang di hasilkan dari login menggunakan username dan password memberikan keluaran yang dinginkan, yaitu jika login dengan akun pabrikan, maka dapat login, begitupula dengan akun pemasar. Dan solusinya adalah menggunakan fungsi IN pada mysql.