hulp nodig bij query
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$sql = "SELECT DISTINCT
u.username,u.user_id, u.user_viewemail,u.user_posts,
u.user_regdate,u.user_from, u.user_website,
u.user_email, u.user_icq, u.user_aim,u.user_yim,
u.user_msnm, u.user_avatar, u.user_avatar_type,
u.user_allowavatar,u.user_rank7,u.user_rank8,
u.user_plan7,u.user_plan8,u.user_coord7,
u.user_coord8, u.user_uni7, u.user_uni8,
u.user_score7, u.user_score8, u.user_uni,
g.group_id FROM " . USERS_TABLE . " u,
phpbb_user_group g
WHERE u.user_id <>
" . ANONYMOUS . " AND " .
$search_uni . " AND
g.group_id=180 OR g.group_id=181
OR group_id=182
ORDER BY $order_by";?>
$sql = "SELECT DISTINCT
u.username,u.user_id, u.user_viewemail,u.user_posts,
u.user_regdate,u.user_from, u.user_website,
u.user_email, u.user_icq, u.user_aim,u.user_yim,
u.user_msnm, u.user_avatar, u.user_avatar_type,
u.user_allowavatar,u.user_rank7,u.user_rank8,
u.user_plan7,u.user_plan8,u.user_coord7,
u.user_coord8, u.user_uni7, u.user_uni8,
u.user_score7, u.user_score8, u.user_uni,
g.group_id FROM " . USERS_TABLE . " u,
phpbb_user_group g
WHERE u.user_id <>
" . ANONYMOUS . " AND " .
$search_uni . " AND
g.group_id=180 OR g.group_id=181
OR group_id=182
ORDER BY $order_by";?>
In tabel g.group_id zitten drie getallen die ik er nu alle drie eruit krijg. Mijn bedoeling was eigenlijk 1 van die drie getallen.
op dit moment krijg ik zo'n soort output:
user ----getal
user1----180
user1----181
user1----182
Ik wil zoiets:
user1----180
user2----180
user3----182
Iemand een idee hoe ik dat kan bereiken?
Gewijzigd op 01/01/1970 01:00:00 door S -
" . ANONYMOUS . " AND " .
$search_uni . " AND
g.group_id=180 OR g.group_id=181
OR group_id=182
Ten eerste snap ik deze niet AND " .
$search_uni . " AND wat moet er gebeuren met $search moet hij leeg zijn of...
Ten tweede
AND
(g.group_id=180 OR g.group_id=181
OR group_id=182)
lost jouw probleem op
'(user_uni=2 OR user_uni=1)'
of
'(user_uni=0)'
Het probleem is er nog steeds..
Als ik alleen g.group_id=180 invul krijg ik de juiste ouput. Als ik ook g.group_id=181 toevoeg, krijg ik 2 keer zoveel resultaten.
Ik zoek iets zoals:
als 180 niet bestaat, zoek dan 181, als 181 niet bestaat, zoek dan 182.
Er moet maar 1 mogelijkheid uit de tabel user_group komen terwijl er wel gezocht moet worden op 3 mogelijkheden in die tabel.
Niet erg duidelijk volgens mij ):
Gewijzigd op 01/01/1970 01:00:00 door S -
Heb je de haakjes er ook in gezet?
ja
Niemand een idee hoe het moet?
Hoe moeten die getallen geselecteerd worden dan? Als je GROUP BY user er neer zet, moet het werken.. (of SELECT DISTINCT(user) )
wat doet group by precies?
Ik heb in de tabel phpbb_user_group heel veel group_id'.
Nu wil ik als ik de gegevens van de gebruiker uit de tabel USERS_TABLE haal dat de group_id van tabel phpbb_user_group ook uit de tabel word gehaalt. Maar er zijn heel veel group_id's en dan krijg ik teveel resultaten. Want per gebruiker wil ik maar 1 group_id eruit halen. En die group_id moet één van de volgende waarden hebben===>180/181/182.
Ik krijg nu alleen 180 eruit. (wel maar 1 resultaat per gebruiker wat ik ook wilde bereiken).