probleem met query voor verdeling van rechten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Raul Wallaart

Raul Wallaart

09/11/2008 18:06:00
Quote Anchor link
Geachte phphulpers,

ik heb een probleem met een query waar ik na lang proberen nog niet uitkom.
In mijn ledensysteem is er de mogelijkheid om tot een of meerdere groepen te horen. Er zijn drie mogelijkheden: 1) je bent admin, en hebt daardoor het recht tot aanpassen van alle groepen, 2)je bent geen admin maar wel lid van de groep en kunt daardoor alleen deze groep aanpassen, of 3) geen admin en geen lid, waardoor je alleen de lijst van bestaande groepen ziet.

Wat wel goed werkt, is wanneer men admin is. De rijen worden laten zien met alle aanpassingsmogelijkheden.

Vervolgens worden bij de beide andere opties rijen dubbel of vaker laten zien, afhankelijk van van hoeveel groepen de gebruiker lid is. Nergens lid betekent dat er geen enkele rij wordt laten zien. Lid van één groep is zoals ik het uiteindelijk wil. Lid van twee groepen en alles wordt dubbel laten zien, etc, etc..

Hieronder het stukje code waar het probleem in zit:

Hopelijk duidelijk genoeg voor een helpende hand.

Groet Raúl

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
<?php
else
{
$queryGr = "SELECT * FROM bureaugroep, groep WHERE bureaugroep.b_id ".$_SESSION['id']." AND bureaugroep.gr_id = groep.gr_id ORDER BY bureaugroep.gr_id DESC";
$resultGr = mysql_query($queryGr) or die("SQL_Fout | " . mysql_error());

//optie 1: je bent admin
if($_SESSION['b_admin'] == '1')
{

echo '<tr>'."\n";
echo '<td width="22" class="normalRow" align="center"><a href="ifrGroepen.php?m='.$_GET['m'].'&action=delete&gr_id='.$rowGroep['gr_id'].'"><img src="images/action_delete.gif" border="0" alt="verwijder"></a></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><a href="ifrGroepen.php?m='.$_GET['m'].'&action=edit&gr_id='.$rowGroep['gr_id'].'#blok'.$jj.'" target="_self"><img src="images/reply.gif" border="0" alt="aanpassen"></a></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><img src="images/file.gif" border="0" alt="verwijder"></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><a href="ifrGroepen.php?action=usertoGroep&gr_id='.$rowGroep['gr_id'].'" target="_self"><img src="images/user.gif" border="0" alt="gebruiker aan groep"></a></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><strong>'.$jj.'</strong></td>';
echo '<td width="500" class="normalRow">&nbsp;<a href="ifrGroep.php?gr_id='.$rowGroep["gr_id"].'" target="_self">'.$rowGroep["gr_naam"].'</a></strong></td>'."\n";
echo '</tr>'."\n";
}

elseif($resultGr)
{

while($rowGr = mysql_fetch_array($resultGr))
{

if($rowGr['gr_id'] == $rowGroep['gr_id'])
{


//optie 2: geen admin maar wil lid van de groep
echo '<tr>'."\n";
echo '<td width="22" class="normalRow" align="center"><img src="images/action_delete_bw.gif" border="0" alt="geen toegang"></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><a href="ifrGroepen.php?m='.$_GET['m'].'&action=edit&gr_id='.$rowGroep['gr_id'].'#blok'.$jj.'" target="_self"><img src="images/reply.gif" border="0" alt="aanpassen"></a></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><img src="images/file.gif" border="0" alt="verwijder"></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><a href="ifrGroepen.php?action=usertoGroep&gr_id='.$rowGroep['gr_id'].'" target="_self"><img src="images/user.gif" border="0" alt="gebruiker aan groep"></a></td>'."\n\t\t\t";
echo '<td width="22" class="normalRow" align="center"><strong>'.$jj.'</strong></td>';
echo '<td width="500" class="normalRow">&nbsp;<a href="ifrGroep.php?gr_id='.$rowGroep["gr_id"].'" target="_self">'.$rowGroep["gr_naam"].'</a></strong></td>'."\n";
echo '</tr>'."\n";
}

else
{
//optie 3: zowel géén admin, als géén lid van de groep
echo '<tr>'."\n";
echo '<td width="22"></td>';
echo '<td width="22"></td>';
echo '<td width="22"></td>';
echo '<td width="22"></td>';
echo '<td width="22" class="normalRow" align="center"><strong>'.$jj.'</strong></td>';
echo '<td width="500" class="normalRow">&nbsp;<a href="ifrGroep.php?gr_id='.$rowGroep["gr_id"].'" target="_self">'.$rowGroep["gr_naam"].'</a></strong></td>'."\n";
echo '</tr>'."\n";
}
}
}

?>
 
PHP hulp

PHP hulp

12/11/2024 21:11:22
 
Klaasjan Boven

Klaasjan Boven

09/11/2008 19:10:00
Quote Anchor link
Zoek een op join en distinct. In een van beide zit vast het probleem
 



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.