Reputation: 385
at first my tables:
+----------+ +--------------+
| users | | users_groups | +--------------+
+----------+ +--------------+ | groups |
| user_id |----->| user_id | +--------------+
| username | | group_id |<----| group_id |
| realname | +--------------+ | group_name |
| password | | group_desc |
+----------+ +--------------+
From an other PHP script I have a variable $group_id
and now I want all usernames and user_ids which are in this group ($group_id
).
I tried this but it didn't work:
SELECT u.username, u.user_id
FROM users u
WHERE users_groups.group_id = $group_id
How should the query look like? Something with joins, isn't it?
My PHP-Code:
$group_id = $_POST["group_id"];
$query_user = mysqli_query($db,
"SELECT
User.user_id, User.username
FROM users User
INNER JOIN user_groups UserGroup
ON User.user_id = UserGroup.user_id
WHERE UserGroup.group_id = $group_id
");
while ($row_user = mysqli_fetch_object($query_user)) {
echo'
'.$row_user->username.'<br>
';
}
Upvotes: 0
Views: 49
Reputation: 4207
SELECT
User.user_id, User.username
FROM users User
INNER JOIN users_groups UserGroup
ON User.user_id = UserGroup.user_id
WHERE UserGroup.group_id = $group_id
Hopefully this would work fine!
EDIT:
$group_id = mysqli_real_escape_string($db, $_POST["group_id"]);
$query_user = mysqli_query($db,
"SELECT
User.user_id, User.username
FROM users User
INNER JOIN users_groups UserGroup
ON User.user_id = UserGroup.user_id
WHERE UserGroup.group_id = '$group_id'
");
while ($row_user = mysqli_fetch_object($query_user)) {
echo $row_user->username.'<br>';
}
Upvotes: 1
Reputation: 5779
This will work:
SELECT u.username, u.user_id
FROM users u
WHERE users_groups.group_id = $group_id && users_groups.user_id = u.user_id
Upvotes: 0