Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Friend Table with mysql
- friend
- =======
- - id
- - uid
- - fid
- Sample Data
- ===========
- id uid fid
- 1 1 2
- 2 3 1
- user
- ====
- - id
- - username
- Sample Data
- ===========
- id username
- 1 saturngod
- 2 snow
- 3 John
- SELECT `user`.id,`user`.username FROM friend
- INNER JOIN User
- ON user.id = friend.uid
- WHERE friend.fid = ( SELECT `id` FROM `User` WHERE `username`='saturngod')
- UNION
- SELECT `user`.id,`user`.username FROM friend
- INNER JOIN User
- ON user.id = friend.fid
- WHERE friend.uid = ( SELECT `id` FROM `User` WHERE `username`='saturngod')
- SELECT u.id,u.username
- FROM user u
- INNER JOIN friend f ON (u.id = f.uid)
- WHERE u.username='saturngod'
- UNION ALL
- SELECT u2.id,u2.username
- FROM user u
- INNER JOIN friend f ON (u.id = f.uid)
- INNER JOIN user u2 ON (u2.id = f.fid)
- WHERE u.username='saturngod'
- SELECT
- u.id as user_id
- ,u.username
- ,u2.id as friend_id
- ,u2.username as friendname
- FROM user u
- INNER JOIN friend f ON (u.id = f.uid)
- LEFT JOIN user u2 ON (u2.id = f.fid)
- WHERE 'saturngod' = u.username
- SELECT
- u.id as user_id
- ,u.username
- ,GROUP_CONCAT(u2.id) AS friend_ids
- ,GROUP_CONCAT(u2.username) as friendnames
- FROM user u
- INNER JOIN friend f ON (u.id = f.uid)
- LEFT JOIN user u2 ON (u2.id = f.fid)
- WHERE 'saturngod' = u.username <<-- optional
- GROUP BY u.id
- SELECT CASE WHEN user_id="$id" THEN friend_id ELSE user_id END AS friendID
- FROM user_friend WHERE user_id="$id" OR friend_id="$id" order by friendID ASC
Add Comment
Please, Sign In to add comment