Ik zit al een aantal dagen blind te starten op een SELECT criteria en ik kom er niet uit. Wanner ik de SQL uitvoer dan krijg ik geen enkele foutmelding op scherm maar ik heb niet het uiteindelijke resultaat waar ik op hoopte... De laatste schakeling die ik nodig heb is het tonen van een rolnaam. Maar dus niet... Wil graag de hulp inroepen of iemand met me mee wil kijken naar mijn code...
De situatie is:
Ik heb vier entiteiten:
1 personen
2 rollen
3 activiteiten
4 autorisaties
en ik heb 3 koppeltabbelen
1 person2role
2 role2act
3 act2aut
nu wil een overzicht maken van een aan een persoon gekoppelde autorisatie die op haar beurt gekoppeld is aan een activteit en gekoppeld is aan een rol.
Nu staar ik me al 3 dagen blind over het laatste stuk. Ik heb ondertaand function gedefineerd. Deze toont bijna alle gegevens die ik wil. Echter het laatste stukje dus net niet.. hij toont de rol niet op het scherm. Bij het uitvoeren krijg ik ook geen foutmelding of wat dan ook.. dus waarschijnlijk een JOIN-dingetje oid. Maar ik ziet het domweg niet en geen melding... dus het blijft gissen. Natuurlijk kan ik de rol uit een aantal andere velden halen zoals bijvoorbeeld uit koppeltabel 'person2role' of 'role2act'. Ja hij laat dan ook een waarde zien. Maar ik wil de rol uit de tabel `idm_role` (uniekKenmerkRol) halen.. maar wanneer ik die aanroep krijg ik op de plek waar ik de rolnaam verwacht een blanco regel. Ik zie echter niet in waarom dit is. Maar van al die JOINS word ik ietwat tureluurs :-)
Zou iemand aub met me mee willen kijken wat er nu speelt? ik kom er niet uit... het stokt een beetje.
Hieronder heb ik de gehele code van de functie geplakt.
<?php
function medewerkerAutorisatie (){
global $connection;
$where = NULL;
if (isset($_GET['uniekKenmerkPerson'])){
$where = 'WHERE idm_person.MSKEYVALUE_MEDEWERKER = "'.mysqli_real_escape_string($connection, $_GET['uniekKenmerkPerson']).'" ';
}
$sqlUitlezen = mysqli_query($connection, "SELECT
idm_person.MSKEYVALUE_MEDEWERKER AS uniekKenmerkPerson,
idm_person.MX_CALLNAME AS voornaam,
idm_person.MX_LASTNAME AS achternaam,
idm_person2role.MSKEYVALUE_ROL,
idm_role2act.MSKEYVALUE_ROL,
idm_role2act.MSKEYVALUE_ACTIVITEIT,
idm_autorisatie.MSKEYVALUE_AUTORISATIE AS uniekKenmerkAutorisatie,
idm_autorisatie.MSKEYVALUE_DOELSYSTEEM AS uniekKenmerkDoelsysteem,
idm_autorisatie.MX_DISABLED,
idm_autorisatie.Z_PRIVILEGE_HBR,
idm_act2aut.MSKEYVALUE_ACTIVITEIT,
idm_activiteit.MSKEYVALUE_ACTIVITEIT AS uniekKenmerkActiviteit,
idm_role.MSKEYVALUE_ROL AS uniekKenmerkRol
FROM `idm_person`
LEFT JOIN `idm_person2role` ON idm_person.MSKEYVALUE_MEDEWERKER = idm_person2role.MSKEYVALUE_MEDEWERKER
LEFT JOIN `idm_role2act` ON idm_person2role.MSKEYVALUE_ROL = idm_role2act.MSKEYVALUE_ROL
LEFT JOIN `idm_act2aut` ON idm_role2act.MSKEYVALUE_ACTIVITEIT = idm_act2aut.MSKEYVALUE_ACTIVITEIT
LEFT JOIN `idm_autorisatie` ON idm_act2aut.MSKEYVALUE_AUTORISATIE = idm_autorisatie.MSKEYVALUE_AUTORISATIE
LEFT JOIN `idm_activiteit` ON idm_act2aut.MSKEYVALUE_ACTIVITEIT = idm_activiteit.MSKEYVALUE_ACTIVITEIT
LEFT JOIN `idm_role` ON idm_role2act.MSKEYVALUE_ROL = idm_role.MSKEYVALUE_ROL
".$where."
GROUP BY idm_autorisatie.MSKEYVALUE_AUTORISATIE
");
$sqlAantal = mysqli_num_rows($sqlUitlezen);
$sqlData = mysqli_fetch_assoc($sqlUitlezen);
if ($sqlAantal > 1){
echo '<table id="idmdata">';
echo '<tr>';
if(($sqlAantal == 1)){
echo '<th colspan="5">'.$sqlData['voornaam'].' '.$sqlData['achternaam'].' heeft '.$sqlAantal.' autorisatie gekoppeld</th>';
}else{
echo '<th colspan="5">'.$sqlData['voornaam'].' '.$sqlData['achternaam'].' heeft '.$sqlAantal.' autorisaties gekoppeld</th>';
}
echo '</tr>';
echo '<tr>';
echo '<td colspan="4"><b>Autorisatie</b></td>';
echo '<td><b>Doelsysteem</b></td>';
echo '</tr>';
while ($sqlData = mysqli_fetch_assoc($sqlUitlezen)){
echo '<tr>';
echo '<td width="1%"><a href="?actie=autcard&uniek_kenmerk='.strtolower($sqlData['uniekKenmerkAutorisatie']).'"><img src="../img/plus.png" height="14"></td>';
echo '<td>
<b>'.$sqlData['uniekKenmerkAutorisatie'].'</b>
<font size="-2">
<li><i>'.$sqlData['uniekKenmerkActiviteit'].'</i></li>
<li><b><i>'.$sqlData['uniekKenmerkRol'].'</i></b></li>
</font>
</td>';
if($sqlData['MX_DISABLED'] == 1){
echo '<td width="1%"><img src="../img/icon_inactive.png" height="14"></td>';
}else{
echo '<td width="1%"><img src="../img/icon_active.png" height="14"></td>';
}
if($sqlData['Z_PRIVILEGE_HBR'] != NULL){
echo '<td width="1%"><img src="../img/hoog_recht.png" height="14"></td>';
}else{
echo '<td width="1%"></td>';
}
echo '<td>'.$sqlData['uniekKenmerkDoelsysteem'].'</td>';
echo '</tr>';
}
echo '<th colspan="5"><button class="button1" style="vertical-align:middle"><span><div id="button"><a href="javascript:javascript:history.go(-1)"> Vorige pagina</a></div></span></button></th>';
echo '</tr>';
echo '</table>';
}else{
echo '<center><a href="javascript:javascript:history.go(-1)"><img src="../img/no-data.png" height="50%"></a></center>';
}
}
?>
ps... graaf niet op de opmaak letten... die gaat nog in een css verwerkt worden...