SELECT criteria niet het gewenste resultaat maar geeft ook geen melding

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Freelance java developer / scrummaster (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 82,00 Voor onze partnerorganisatie, de Belastingdienst, zijn wij op zoek naar een Java Developer met kennis van en ervaring met de Scrum methodiek. In deze rol wordt er van je gevraagd dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Weet wat er van een scrummaster wordt verwacht; Als volwaardig teamlid participeert binnen het scrumproces in je team en in de SAFe-releasetrain; Zowel zelfstandig kunt werken in een scrumteam als intensief de samenwerking zoekt met je directe collega’s en je omgeving; Samenwerkt met je collega’s

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Freelance applicatieontwikkelaar (zzp)

Belastingdienst B/cao Startdatum : 2-1-2023 Tijdelijke functie, met optie op vast Aantal uren per week : 36 Standplaats in overleg : Apeldoorn Applicatieontwikkelaar bij het Ministerie van Financiën- Belastingdienst We zoeken een consultant/developer met ervaring in de ontwikkeling van back-end systemen. Als consultant heb je kennis en ervaring met de wijze waarop Open Formulieren is opgezet. Je bent een vraagbaak voor collega’s en deelt waar nodig je kennis. Je hebt ervaring met het werken in een open source omgeving. Je bent thuis in verschillende frameworks of je kunt je die snel eigen maken. Je hebt aantoonbaar ruime kennis van en

Bekijk vacature »

Java-softwaredeveloper

Wat je gaat doen: Dit ga je doen Daar kunnen we heel kort over zijn: software ontwikkelen met de agile-/scrumteams van toonaangevende organisaties. Zoals ministeries, gemeentes, financiële instellingen en retail- en energiebedrijven. En als het bij je past, begeleid je collega-developers in het ontwikkelproces. Doordat je tijdelijk aan een opdracht werkt, doe je in korte tijd veel mooie ervaringen op en leer je nieuwe technieken en tools kennen. Je teamleden werken bijvoorbeeld met Spring, JPA/Hibernate, AJAX, REST/JSON, GIT, AWS en TDD. Het interessante is dat jij volledig in control bent en zelf kiest welke opdrachten je oppakt. Het soort rol,

Bekijk vacature »

Freelance senior ICT ontwikkelaar (zzp)

Belastingdienst B/cao Startdatum inzet: 9-1-2023 Einddatum inzet: 31-12-2023 Uren per week: 36,00 Standplaats: Apeldoorn Max tarief: € 86,00 Team LIV is op zoek naar een enthousiaste, flexibele, multitaskende en hands-on ontwikkelaar met veel ervaring in het gedeeltelijk of volledig zelfstandig bepalen van ontwikkel- en realisatie aanpak. Onze nieuwe collega moet in staat zijn te werken in een hectische omgeving waarbij er sprake is van zeer verschillen realisatietrajecten voor wat betreft(technische)diepgang, startmoment (wel/geen beschrijvingen beschikbaar) en klantcontact. De gekozen ontwikkelmethodiek dient passend te zijn voor het op te lossen vraagstuk waarbij samenwerking met de testengineer in relatie tot Systeem integratie test

Bekijk vacature »

Freelance senior Programmeur (zzp)

Dienst Uitvoering Onderwijs Uren per week: 36,00 Standplaats: Groningen Max tarief: € 90,00 Startdatum inzet: 2-1-2023 Einddatum inzet: 1-1-2024 Wat doen we voor werk momenteel? Nieuwe applicaties: We bouwen nieuwe applicaties voor inwinnen B3/B4 scholen. Deze scholen kunnen inschrijvingen via een website aanleveren per keer of meerdere inschrijvingen via bestand. Deze inschrijvingen leggen we vast en ze kunnen ook beheerd worden. Moderniseren: Daarnaast hebben we zoals alle andere teams ook een flinke migratie voor de boeg om in de Cloud te landen. Eén applicatie (AVOID) hebben we al succesvol gemigreerd en deze draait bijna in PRD. De grootste uitdaging voor

Bekijk vacature »

Freelance applicatieontwikkelaar (zzp)

Belastingdienst B/cao Startdatum : 2-1-2023 Tijdelijke functie, met optie op vast Aantal uren per week : 36 Standplaats in overleg : Apeldoorn Applicatieontwikkelaar bij het Ministerie van Financiën- Belastingdienst We zoeken een consultant/developer met ervaring in de ontwikkeling van back-end systemen. Als consultant heb je kennis en ervaring met de wijze waarop Open Formulieren is opgezet. Je bent een vraagbaak voor collega’s en deelt waar nodig je kennis. Je hebt ervaring met het werken in een open source omgeving. Je bent thuis in verschillende frameworks of je kunt je die snel eigen maken. Je hebt aantoonbaar ruime kennis van en

Bekijk vacature »

Drupal Developer

Wat wij bieden Werk bij interessante mooie klanten, met veel maatschappelijke impact. Een sterk en hecht team om je heen, dat elkaar helpt bij ieders ontwikkeling. Opleidingsbudget om je verder te ontwikkelen en deze kennis gelijk te kunnen gebruiken bij klanten. Een arbeidsovereenkomst voor onbepaalde tijd. Macbook Pro en telefoon Lease auto of alternatief mobiliteitsbudget Wat jij meeneemt HBO werk- en denkniveau Ervaring met: HTML / CSS Javascript Frameworks als Vue.js en/of React Als je dit bij je hebt is dat een pré: Basiskennis van backend Ervaring met Drupal of Salesforce Composer Twig Storybook GIT De uitdaging Met onze practice

Bekijk vacature »

Senior Java developer (backend)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Medior Frontend developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Bij DPA GEOS werken onze consultants als Frontend Developer in Agile teams bij onze klanten en zijn ze verantwoordelijk voor de grotere webapplicaties. Wil jij dit ook, want we zijn op zoek naar enthousiaste Frontend Developers om ons development team te versterken. Je draagt positief bij aan de teamgeest binnen een projectteam je kijkt verder dan je eigen rol. Eventueel begeleid je ook andere ontwikkelaars in het softwareontwikkelproces. Je gaat webapplicaties maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 9 januari 2023 bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je

Bekijk vacature »

Java-softwaredeveloper

Wat je gaat doen: Dit ga je doen Daar kunnen we heel kort over zijn: software ontwikkelen met de agile-/scrumteams van toonaangevende organisaties. Zoals ministeries, gemeentes, financiële instellingen en retail- en energiebedrijven. En als het bij je past, begeleid je collega-developers in het ontwikkelproces. Doordat je tijdelijk aan een opdracht werkt, doe je in korte tijd veel mooie ervaringen op en leer je nieuwe technieken en tools kennen. Je teamleden werken bijvoorbeeld met Spring, JPA/Hibernate, AJAX, REST/JSON, GIT, AWS en TDD. Het interessante is dat jij volledig in control bent en zelf kiest welke opdrachten je oppakt. Het soort rol,

Bekijk vacature »

Back-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Get moving and strengthen Nederlandse Loterij as a Back-end Developer. Thanks to your efforts the inhouse development team can work together on the development of new systems and applications. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Back-end Developer you score by: Integrating back-end and third party application functionality using available API’s. Safeguarding operational continuity for our platforms which serve millions of requests per minute during peak load. Setting up CI/CD pipelines using Azure DevOps. Safeguarding

Bekijk vacature »

Embedded Hardware Developer

Vacature: Embedded Hardware Developer in Aalsmeer. Ben jij die ervaren Hardware Developer die graag een bijdrage wil leveren aan de ontwikkeling van een duurzamere samenleving? Dan hebben wij een mooie functie voor jou! Voor onze opdrachtgever zijn wij op zoek naar een Embedded Hardware Developer in omgeving Schiphol. Wat ga je doen als Embedded Hardware Developer? Als Hardware Developer ga jij je bezighouden met het ontwikkelen van duurzame energieopslagsystemen voor hybride en volledig elektrisch aangedreven schepen. Jouw dagelijkse werkzaamheden zullen er zo uitzien: Je ontwikkelt ideeën en concepten ter verbetering van het systeem. Je designt schema’s en board layouts in

Bekijk vacature »

C# developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als C# Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the Year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »
- DHU -

- DHU -

26/05/2020 21:09:54
Quote Anchor link
Hallo PHP'ers en SQL' ers,

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.

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<?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)">&nbsp;&nbsp;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...
Gewijzigd op 26/05/2020 21:14:24 door - DHU -
 
PHP hulp

PHP hulp

04/02/2023 16:56:28
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/05/2020 12:53:16
Quote Anchor link
Het is een combinatie van factoren.

mysqli_fetch_assoc leest een record, en zet de interne pointer een record verder.
Dus op regel 51 bevat $sqlData de gegevens van het eerste record, op regel 70 begin je met het tweede record.

Dit zal beter werken:
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
<?php
if ($sqlAantal > 0) {
    $pointer = 1;
    echo '<table>';
    while ($sqlData = mysqli_fetch_assoc($sqlUitlezen)){
        if ($pointer === 1) {
            // toon tabel kop
        }
        // toon data
        $pointer++;
    }

    echo '</table>';
}

?>

Daarnaast koppel je in de query de tabel idm_role aan idm_role2act, dat betekent indien een pesoon een rol heeft die geen activitieit gekoppeld heeft de waarden uit tabel idm_role leeg zijn.
Anders wordt het als je dit wijzigt in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
LEFT JOIN idm_person2role
    ON idm_person.MSKEYVALUE_MEDEWERKER = idm_person2role.MSKEYVALUE_MEDEWERKER
LEFT JOIN idm_role
     ON idm_person2role.MSKEYVALUE_ROL = idm_role.MSKEYVALUE_ROL

Of helemaal volgens het boekje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
LEFT JOIN (idm_person2role
        INNER JOIN idm_role
        ON idm_person2role.MSKEYVALUE_ROL = idm_role.MSKEYVALUE_ROL)
    ON idm_person.MSKEYVALUE_MEDEWERKER = idm_person2role.MSKEYVALUE_MEDEWERKER
Gewijzigd op 27/05/2020 12:53:56 door Ger van Steenderen
 
Thomas van den Heuvel

Thomas van den Heuvel

27/05/2020 13:00:25
Quote Anchor link
Ik denk dat die GROUP BY roet in het eten gooit? Haal deze gewoon weg? Waar groepeer je uberhaupt op?

Voor de idm_activiteit en idm_role tabellen kun je volgens mij ook rustig een INNER JOIN gebruiken, aangenomen dat de id's in de koppeltabellen ook bestaan in de overeenkomstige tabellen waar ze naar verwijzen. Dat zou moeten kloppen in een echte relationele database, ik hoop dat je dit ook afdwingt met foreign keys en alles (database-engine hopelijk InnoDB?).

Kijk eerst eens of de bovenstaande aanpassingen wel het gewenste resultaat opleveren, en dan (vervolgstap, apart probleem) zou je na kunnen gaan denken hoe je deze resultaten in een tabel giet. Het kan helpen om deze eerst in een datastructuur in PHP (genest array) te zetten, zodat het genereren van de tabel makkelijker wordt. Zo zou je op die manier rowspans van tevoren uit kunnen rekenen ofzo. Maar goed, opmaak is van latere zorg, het is eerst zaak dat je query de juiste resultaten teruggeeft.

EDIT: en ja wat @Ger zegt, je haalt (oa) aan het begin al een record op waar je niets mee doet :).

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
<?php
if ($sqlAantal > 0) {
    $pointer = 1;
    echo '<table>';
    while ($sqlData = mysqli_fetch_assoc($sqlUitlezen)){
        if ($pointer === 1) {
            // toon tabel kop
        }
        // toon data
        $pointer++;
    }

    echo '</table>';
}

?>

Dat kan korter :p
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($sqlAantal > 0) {
    echo '<table>';
    // toon tabel kop
    while ($sqlData = mysqli_fetch_assoc($sqlUitlezen)){
        // toon data
    }
    echo '</table>';
}

?>
Gewijzigd op 27/05/2020 13:04:39 door Thomas van den Heuvel
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

27/05/2020 13:54:48
Quote Anchor link
Thomas van den Heuvel op 27/05/2020 13:00:25:
Voor de idm_activiteit en idm_role tabellen kun je volgens mij ook rustig een INNER JOIN gebruiken, aangenomen dat de id's in de koppeltabellen ook bestaan in de overeenkomstige tabellen waar ze naar verwijzen. Dat zou moeten kloppen in een echte relationele database, ik hoop dat je dit ook afdwingt met foreign keys en alles (database-engine hopelijk InnoDB?).

Nee, niet als je de joins achter elkaar zet zoals in mijn eerste voorbeeld, dan moet je doorgaan met LEFT JOIN anders maak je van de eerste LEFT JOIN ook een INNER JOIN.
Vandaar ook het tweede 'volgens het boekje' voorbeeld ;-)
Thomas van den Heuvel op 27/05/2020 13:00:25:
Dat kan korter :p
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if ($sqlAantal > 0) {
    echo '<table>';
    // toon tabel kop
    while ($sqlData = mysqli_fetch_assoc($sqlUitlezen)){
        // toon data
    }
    echo '</table>';
}

?>

Wat als er gegevens van het eerste record in de tabelkop moeten?
 
Thomas van den Heuvel

Thomas van den Heuvel

27/05/2020 15:35:22
Quote Anchor link
Ger van Steenderen op 27/05/2020 13:54:48:
Wat als er gegevens van het eerste record in de tabelkop moeten?

Eh, fair enough. Maar dan zou ik sowieso het ophalen van de data en (tegelijkertijd/on-the-fly) het in een HTML-tabel proppen misschien wat verder uit elkaar splitsen. Wat je ophaalt en hoe je dit vervolgens weergeeft zijn echt twee verschillende dingen.
 
- DHU -

- DHU -

27/05/2020 16:47:30
Quote Anchor link
Ger van Steenderen op 27/05/2020 12:53:16:
Het is een combinatie van factoren.

mysqli_fetch_assoc leest een record, en zet de interne pointer een record verder.
Dus op regel 51 bevat $sqlData de gegevens van het eerste record, op regel 70 begin je met het tweede record.

Dit zal beter werken:
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
<?php
if ($sqlAantal > 0) {
    $pointer = 1;
    echo '<table>';
    while ($sqlData = mysqli_fetch_assoc($sqlUitlezen)){
        if ($pointer === 1) {
            // toon tabel kop
        }
        // toon data
        $pointer++;
    }

    echo '</table>';
}

?>


Dit lever exact hetzelfde resultaat het uniekKenmerkRol wordt niet getoond. Maar ook hier krijg ik geen melding wat er niet goed gaat....


Daarnaast koppel je in de query de tabel idm_role aan idm_role2act, dat betekent indien een pesoon een rol heeft die geen activitieit gekoppeld heeft de waarden uit tabel idm_role leeg zijn.
Anders wordt het als je dit wijzigt in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
LEFT JOIN idm_person2role
    ON idm_person.MSKEYVALUE_MEDEWERKER = idm_person2role.MSKEYVALUE_MEDEWERKER
LEFT JOIN idm_role
     ON idm_person2role.MSKEYVALUE_ROL = idm_role.MSKEYVALUE_ROL

Of helemaal volgens het boekje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
LEFT JOIN (idm_person2role
        INNER JOIN idm_role
        ON idm_person2role.MSKEYVALUE_ROL = idm_role.MSKEYVALUE_ROL)
    ON idm_person.MSKEYVALUE_MEDEWERKER = idm_person2role.MSKEYVALUE_MEDEWERKER




Misschien moet ik even toelichten wat het gewenste resultaat is. Ik vraag een overzicht van autorisaties die aan een persoon is gekoppeld. Dat is niet het issue dus... dat lukt zonder problemen. Maar ik wil graag dan per autorisatie zien aan welke activiteit aan welk rol is gekoppeld. Dus niet wel rol iemand heeft en welk activeit -> autorisaties daar dan onderhangen. Dat is namelijk een andere benadering en kan je autorisaties mislopen. Dus ik wil bottom up kijken en niet top down.

De JOIN die hierboven staat staat ook mijn gebruikte JOINS
en de genoemde INNER JOIN idm_role ON idm_person2role.MSKEYVALUE_ROL = idm_role.MSKEYVALUE_ROL) bewerkstelligt naar mijn idee de Top Down methodiek...

Moet nu eerst weg... ga hier vanavand nog verder mee stoeien.... Ieders alvast bedankt voor het meedenken en voor de suggesies.
 



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.