Hallo,

Ik heb 2 databases. Een database met daarin twee tabbellen "users" en "follow". In de tabel "users" staan allerlei gegevens over de gebruikers. Ze kunnen hiermee vervolgens inloggen en andere gebruikers gaan volgen. Wie wie volgt word opgeslagen in de "follow" tabel. Onderstaand een klein voorbeeld:

Users:

+--------+-------+-------+
| ID     |  NAAM | PASS  |
+--------+-------+-------+
|   1    | Bram  | ******|
+--------+-------+-------+
|   2    | Kees  | ******|
+--------+-------+-------+
|   3    | Pim   | ******|
+--------+-------+-------+


Follow:

+--------+-----------+
|USER_ID | FOLLOW_ID |
+--------+-----------+
|   1    |     2     |
+--------+-----------+
|   2    |     1     |
+--------+-----------+
|   1    |     3     |
+--------+-----------+


Zoals je kunt zien volgt Bram (id 1): Kees (id 2) en Pim (id 3). Kees volgt alleen Bram (id 1).
Mijn vraag is nu hoe ik dit uit de database kan halen? Dus als Bram ingelogd is moeten Kees en Pim worden weergegeven. Als Kees ingelogd is moet alleen Bram worden weergegeven. Ik heb iets geprobeerd maar dit laat iedereen zien die gevolgd word.


        <?php
        if(strcmp($_SESSION['uid'],"") == 0){
            include "login.php";
        }else{
        ?>
        <aside>
            <ul id="filters">
                <?php
                $sql = mysql_query("SELECT * FROM users INNER JOIN follow WHERE users.id = follow.following_id");
                while($user = mysql_fetch_assoc($sql)) {
                ?>
                <li><?php echo $user['username']; ?></li>
                <?php } ?>
            </ul>
        </aside>
        <?php } ?>


Ik hoop dat iemand mij kan helpen. Is iets niet duidelijk dan hoor ik het graag.
Je wil dus voor user X weten welke users hij volgt en daarvan de namen hebben:

SELECT b.naam
FROM follow a
INNER JOIN users b ON a.follow_id = b.id
WHERE a.user_id = X
voor wat begrippen betreft: Je hebt maar één database en daarin heb je een tweetal tabellen genaamd users en follow.
De bovenstaande vraag is gelukt. Na het inloggen laat de pagina enkel de gebruikers zien die de gebruiker volgt. Nu heb ik het script iets uitgebreider gemaakt en heb ik groepen toegevoegd. Onderstaand mijn nieuwe code.


<ul id="filters">
    <?php
    $sidebar = mysql_query("SELECT users.id
                                 , users.username
                                 , users.firstname
                                 , users.surname
                                 , follow.status
                                 , follow.group_id
                                 , groups.id
                                 , groups.name
                              FROM (
                                   users
                            INNER
                              JOIN follow
                                ON follow.following_id = users.id
                                   )
                            INNER
                              JOIN groups
                                ON follow.group_id = groups.id
                             WHERE follow.user_id = '".mysql_real_escape_string($_SESSION["uid"])."' ");

    while($user = mysql_fetch_assoc($sidebar)) {

    $username = $user['username'];
    $firstname = $user['firstname'];
    $surname = $user['surname'];
    $status = $user['status'];
    $groupname = $user['name'];

    ?>
    <li>
        <div class="name">
        <?php
            if($firstname != '') {
                echo ucwords($firstname) ." ". ucwords($surname);
            } else {
                echo ucwords($username);
            }

        ?>
        </div>
        <div class="check">
            <?php if($status == "1") { ?>
            <input type="checkbox" name="<?php echo $username; ?>" value=".<?php echo ucwords(strtolower($username)); ?>" id="<?php echo $username; ?>" checked="checked" /><label for="<?php echo $username; ?>"><span></span></label>
            <?php } else { ?>
            <input type="checkbox" name="<?php echo $username; ?>" value=".<?php echo ucwords(strtolower($username)); ?>" id="<?php echo $username; ?>" /><label for="<?php echo $username; ?>"><span></span></label>
            <?php } ?>
        </div>
    </li>
    <?php } ?>
</ul>


Als je de pagina nu laad, zie ik de gebruikers in een bepaalde groep. Ik weet alleen niet hoe ik de <ul> als groep kan laten zien binnen de while.

Ik hoop dat iemand mij hiermee verder kan helpen.

Reageren