Gebruiker in meerdere groepen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pong Zor

Pong Zor

31/08/2011 14:30:29
Quote Anchor link
Hallo,

Ik probeer gebruikersgroepen te maken, echter lukt dit niet helemaal.

tabel: gebruikersgroepen
- gebruikersgroep_id
- groepsnaam

tabel: gebruikers
- gebruiker_id
- gebruikersgroep_id
- voornaam
- achternaam
- email

Nu heb ik een gebruiker met:
gebruiker_id = 1
gebruikersgroep_id = 1,3 (zit in meerdere groepen)
voornaam = dennis

Hoe maak ik nu een query dat ik deze gebruiker in meerdere groepen kan indelen?

ik begin zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
    $query_gebruikers = "SELECT gebruikersgroep_id, voornaam, achternaam FROM gebruikers";
    $resultaat_gebruikers = mysql_query($query_gebruikers, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());


Hier haal ik de gebruikers op
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
while($rij_gebruikers = mysql_fetch_array($resultaat_gebruikers)){
                        $counter++;
                        
                        $pieces = explode(",", $rij_gebruikers['gebruikersgroep_id']);

                        echo "size of array = ".sizeof($pieces)."<br>"; // Output = 5                         
                        
                        $query_gebruikersgroepen = "SELECT gebruikersgroep_id, groepsnaam FROM gebruikersgroepen WHERE gebruikersgroep_id = '" . $pieces[0] . "'";
                        $resultaat_gebruikersgroepen = mysql_query($query_gebruikersgroepen, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query_gebruikersgroepen . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());            
    }


Ik had het idee om de gebruiker id's te exploden op een komma, zodat ik een array heb, maar nu moet ik dat dus op 1 of andere manier gaan koppelen aan die gebruikergroepen om vervolgens uit te lezen dan Dennis in groep 1 en groep 3 zit.

Kan iemand me op weg helpen?

Toevoeging op 31/08/2011 17:10:23:

Oke ik heb een oplossing, is dit echt de simpelste manier?

Ik post hier mijn hele bestand. Naar mijn mening beetje veel queries, maar ik kon even niet zo snel iets anders bedenken

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?php
    include('includes/application_top.php');
    
    # unieke gebruiker opzoeken in koppeltabel
    $query_zoek_gebruiker_in_groep = "SELECT DISTINCT gebruiker_id FROM gebruikers_naar_groepen";
    $resultaat_zoek_gebruiker_in_groep = mysql_query($query_zoek_gebruiker_in_groep, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query_zoek_gebruiker_in_groep . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());    
    
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>simpel CMS demo.</title>
<?php include('includes/head.php'); ?>
</head>
<body>
<?php include('includes/template_top.php'); ?>
            <div class="box">
                <div class="box_top"><h2>Accounts</h2></div>
                <div class="box_content">
                    <table width="100%" cellpadding="0" cellspacing="0" border="0">
                            <tr class="heading">
                                <td width="150">gebruikers_id</td>
                                <td width="150">gebruikers_id2</td>
                                <td colspan="2"></td>
                            </tr>                    
                        <?php
                        echo "\n";
                        $counter = 0;
                        while($rij_zoek_gebruiker_in_groep = mysql_fetch_array($resultaat_zoek_gebruiker_in_groep)){
                        $counter++;
                            
                            # vervolgens naam koppelen aan gebruiker
                            $query_gebruikers = "SELECT voornaam FROM gebruikers WHERE gebruiker_id = '" . $rij_zoek_gebruiker_in_groep['gebruiker_id'] . "'";
                            $resultaat_gebruikers = mysql_query($query_gebruikers, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query_gebruikers . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());                            
                            $rij_gebruikers = mysql_fetch_array($resultaat_gebruikers);
                            

                        ?>

                            <tr <?php echo ($counter % 2 == 0 ? 'class="even"' : 'class="oneven"') ;?>>
                                <td><?php echo $rij_gebruikers['voornaam'];    ?></td>
                                <td>
                                <?php
                                
                                    # groep koppelen aan opgezochte gebruiker
                                    $query_zoek_groep_bij_gebruiker = "SELECT gebruikersgroep_id FROM gebruikers_naar_groepen WHERE gebruiker_id = '" . $rij_zoek_gebruiker_in_groep['gebruiker_id'] . "'";
                                    $resultaat_zoek_groep_bij_gebruiker = mysql_query($query_zoek_groep_bij_gebruiker, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query_gebruikersgroepen . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());                                
                                    while($rij_zoek_groep_bij_gebruiker = mysql_fetch_array($resultaat_zoek_groep_bij_gebruiker)){
                                        
                                        # groepsnaam koppelen aan opgezochte groep
                                        $query_gebruikersgroepen = "SELECT groepsnaam FROM gebruikersgroepen WHERE gebruikersgroep_id = '" . $rij_zoek_groep_bij_gebruiker['gebruikersgroep_id'] . "'";
                                        $resultaat_gebruikersgroepen = mysql_query($query_gebruikersgroepen, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query_gebruikers . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());                            
                                        $rij_gebruikersgroepen = mysql_fetch_array($resultaat_gebruikersgroepen);            

                                        echo $rij_gebruikersgroepen['groepsnaam'] . ', ';
                                        
                                    }

                                ?>

                                </td>
                                <td width="25"><a class="edit" href="#"></a></td>
                                <td width="25"><a class="delete" href="#"></a></td>
                            </tr>                            
                        <?php
                        }
                        echo "\n";
                        ?>
                    
                    </table>
                </div>
            </div>
<?php include('includes/template_bottom.php'); ?>
</body>
</html>
Gewijzigd op 31/08/2011 14:31:00 door Pong Zor
 
Er zijn nog geen reacties op dit bericht.



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.