Map namen in database vergelijken met daadwerkelijke mappen
Ik maak een kleine website waar gebruikers (na het inloggen) gebruik kunnen maken van bepaalde mappen (voor foto's). De mappen worden toegekend door een administrator via een CMS systeem.
Wat wel kan:
Mappen tonen
Mappen toekennen en afwijzen aan gebruikers
Nu heb ik het volgende waar ik niet uitkom.
In de (foto)root map staan dus (bijv.) 6 album mappen (album 1 t/m 6), Gebruiker 1 heeft toegang tot album 1 t/m 4. Nu worden er nieuwe fotomappen aangemaakt en de admin wil gebruiker1 toegang geven op de nieuwe map album6.
Dit wil ik graag doen door middel van checkboxen. Als ik bij gebruiker1 dan toegang wil geven aan album 6 wil ik dat alle albums getoond worden maar dat de mappen waar al toegang is gegeven deze aangevinkt zijn, ik hoef dan alleen maar album6 aan te vinken.
Welnu, doordat ik nu een while lus in een while lus heb worden de mappen die in de root staan 4 keer getoon (omdat gebruiker1 al toegang heeft tot 4 mappen, vandaar dat de hele mapstructuur 4 keer wordt getoond).
Onderstaand mijn code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$sql2 = "SELECT url FROM url WHERE gebruiker_id =" . $_GET['id'] . " ORDER BY id ASC";
$res2 = mysql_query($sql2);
while ($rij = mysql_fetch_array($res2)) {
$url = $rij['url'];
// mappen ophalen
$handle = opendir(realpath('../album/.'));
while ($direc = readdir($handle)) {
if($direc == '.' || $direc == '..' || $direc == $url) {
continue;
}
echo "\t\t<input type='checkbox' name='map[]' id='map[]' value='" . $direc. "' />" . $direc . "<br />\n";
}
closedir($handle);
}
?>
$sql2 = "SELECT url FROM url WHERE gebruiker_id =" . $_GET['id'] . " ORDER BY id ASC";
$res2 = mysql_query($sql2);
while ($rij = mysql_fetch_array($res2)) {
$url = $rij['url'];
// mappen ophalen
$handle = opendir(realpath('../album/.'));
while ($direc = readdir($handle)) {
if($direc == '.' || $direc == '..' || $direc == $url) {
continue;
}
echo "\t\t<input type='checkbox' name='map[]' id='map[]' value='" . $direc. "' />" . $direc . "<br />\n";
}
closedir($handle);
}
?>
En dit is de output:
<input type='checkbox' name='map[]' id='map[]' value='album 2' />album 2<br />
<input type='checkbox' name='map[]' id='map[]' value='album 3' />album 3<br />
<input type='checkbox' name='map[]' id='map[]' value='album 4' />album 4<br />
<input type='checkbox' name='map[]' id='map[]' value='album 5' />album 5<br />
<input type='checkbox' name='map[]' id='map[]' value='album 6' />album 6<br />
<input type='checkbox' name='map[]' id='map[]' value='album 1' />album 1<br />
<input type='checkbox' name='map[]' id='map[]' value='album 2' />album 2<br />
<input type='checkbox' name='map[]' id='map[]' value='album 4' />album 4<br />
<input type='checkbox' name='map[]' id='map[]' value='album 5' />album 5<br />
<input type='checkbox' name='map[]' id='map[]' value='album 6' />album 6<br />
<input type='checkbox' name='map[]' id='map[]' value='album 1' />album 1<br />
<input type='checkbox' name='map[]' id='map[]' value='album 2' />album 2<br />
<input type='checkbox' name='map[]' id='map[]' value='album 3' />album 3<br />
<input type='checkbox' name='map[]' id='map[]' value='album 5' />album 5<br />
<input type='checkbox' name='map[]' id='map[]' value='album 6' />album 6<br />
Wat moet ik doen om album 1 t/m 6 te tonen en waar de gebruiker al machtigingen over heeft (die staan dus in de database) al aangevinkt zijn?
Alvast bedankt!
Feri
Er zijn nog geen reacties op dit bericht.