geen submenu

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Solution Consultant (m/f/d) - Netherlands

Assima is a leading global technology and services company whose solutions specialise in increasing the adoption and performance of users using digital applications deployed by Global Fortune 500 businesses. To strengthen our Dutch team, we are looking for a highly efficient customer focused consultant who enjoys managing projects, building positive relationships with clients, solving problems and working in an international, innovative and fast-growing software company based in Amsterdam. You will contribute to delivering and maintaining high quality solutions within a highly skilled small team. Key Responsibilities: Assist the implementation & installation of Assima solutions at client sites Meet clients to

Bekijk vacature »

Senior Java Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Systeembeheerder Citrix

Systeembeheerder Citrix Als systeembeheerder kun je bakken met geld verdienen maar … dan moet je wel de juiste opleidingen en certificaten hebben! Bij T2 zorgen wij dat werkervaring en opleidingen hand in hand gaan en daar plukken wij samen de vruchten van. Onze samenwerking Hard werken aan je persoonlijke ontwikkeling en zo samen werken aan het succes van ons bedrijf. Je blinkt uit in alles wat je doet. Je bent kundig en gedreven. Je bent nog lang niet klaar met leren want de techniek staat niet stil en jij al helemaal niet. Wat mag je verwachten? Heb je ambitie en

Bekijk vacature »

Full-stack Java Developer/ Web development/ 4.000

Functieomschrijving Ben jij een full-stack java developer die graag een cruciaal platform (door) ontwikkelt? Schroom jij het niet om jouw brede skillset in te zetten om verbeterslagen aan te dragen en uit te voeren? Lees dan snel verder! Bouwen van nieuwe functionaliteiten; Door ontwikkelen van de online omgeving; Bug fixing; Testen van (jouw) code, handmatig-, unit-, integratie- en browser tests. Functie-eisen Minimaal een MBO-diploma met HBO werk- en denkniveau; Minimaal 1 jaar werkervaring met Java; Kennis van frameworks zoals: Spring (MVC), Struts, Hibernate, Junit, etc.; Kennis van tooling zoals: IntelliJ, GIT, Jenkins, Gradle; Kennis van front-end technieken zoals: JavaScript, Bootstrap

Bekijk vacature »

Software Developer Zorg-ICT

Wil jij met ChipSoft impact maken in de zorg met jouw technische kennis als Software Developer Zorg-ICT? En lijkt het jou uitdagend om innovatieve software te ontwikkelen met de laatste Microsoft-tools en technieken? Wat doe jij als Software Ontwikkelaar? Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in teamverband. ChipSoft maakt gebruik van een zelf ontwikkeld multi-tier framework. Tijdens een interne opleiding brengen wij je snel bij hoe je binnen deze architectuur je ontwikkelkunsten

Bekijk vacature »

Senior Front-end Developer vacature

Jij weet wat er nodig is. Jouw hart gaat sneller kloppen van techniek. Jij wil vooruit. Ben jij de Front-end Developer die we zoeken? Je bent creatief, thuis in gebruikersinteractie en een gedreven engineer in hart en nieren. Daarnaast heb jij een klantgerichte en proactieve houding. Precies de kwaliteiten die een Front-end Developer nodig heeft. Wat doe je als Developer? Als Front-end Developer werk je aan de technische realisatie van front-end (web)applicaties in de verschillende uitdagende opdrachten voor Sogeti’s klanten. Dit kan zowel op klantlocatie zijn, als binnen het Center of Excellence van Sogeti. Jij houdt van het uitdenken en

Bekijk vacature »

C# / .NET Core developer gezocht, financiële

Voor een bedrijf in het centrum van Rotterdam zijn we op zoek naar een .NET C# developer. Het gaat om een bedrijf dat een software platform beheerd waarop verschillende partijen aangesloten zijn voor de afhandeling van financiële administratieve processen. De organisatie bestaat uit circa 200 mensen waarvan 80 op de locatie waar deze vacature speelt. Het team zelf bestaat uit 12 mensen waaronder 7 .NET developers. Er zijn 2 seniors en 5 mediors. Binnen het bedrijf draaien twee systemen. Het kernsysteem en een legacy systeem. Voor het kernsysteem zoeken we momenteel een .NET developer. Het kernsysteem is grotendeels op .NET

Bekijk vacature »

IT Business Analist R&D

Dümmen Orange is ’s werelds grootste veredelaar en kweker van snijbloemen, bollen, tropische planten, potplanten, perkplanten en vaste planten. Voor onze locatie in De Lier zoeken wij een IT Business Analist R&D. Functie inhoud Ben jij de entrepreneur die dusdanig sterke IT-applicaties levert waardoor de R&D-divisie een maximaal rendement uit hún business kan halen? Jij bent hét aanspreekpunt voor onze R&D-activiteiten. R&D-ontwikkeling op productkenmerken, stock mother plant management, flower trials, cross predictions zijn essentieel voor het succes van ons bedrijf. IT ondersteunt R&D hierbij gebruikmakend van de meest moderne technieken zoals Big data BI databases, cloud computing. Als Business Analist

Bekijk vacature »

Full stack C# .NET web developer, inhouse project

Ben je een C# .NET developer met circa 0 tot 5 jaar ervaring en op zoek naar een nieuwe baan als web developer in Rotterdam? Bij een organisatie waarbij je inhouse kan werken maar wel de afwisseling hebt van telkens nieuwe projecten voor externe klanten? En het liefste een organisatie waar je de zekerheid en mogelijkheden hebt die horen bij een groot bedrijf maar waarbij je tevens de informaliteit en vrijheid hebt van een kleine club? Daarbij natuurlijk een goed salaris, uitstekende pensioenregeling, onkostenvergoeding, de nieuwste versie van de Iphone of Samsung, plus laptop. En de mogelijkheid voor een leaseauto

Bekijk vacature »

Product Owner

Do you have strong content and managerial skills? Do you enjoy customer interactions, building and maintaining productive teams? Do you get excited when you hear the words innovation and delivery? Then this job opening is what you are looking for! We need your expertise You are responsible for the content of your product line/competence line, on an operational, tactical, and strategic level. Activities are all technology and people related. You will: Design and own a content roadmap (e.g. in the field of data analytics, software, IT, or IoT) Co-shape business solutions with sales; acting as a conduit between the customer

Bekijk vacature »

Senior Java Developer vacature

Jij volgt ontwikkelingen op de voet. Sterker nog: jij bent er onderdeel van. Jij loopt voorop. Jij denkt met klanten mee en helpt hen innoveren. Zo kun jij een bijdrage leveren aan de Rabobank-app, de beveiliging van treinen voor Pro-rail verbeteren of de website van ING een boost geven. Vergaderen? Liever gewoon zorgen dat het werkt! Hoe omschrijft men een Sogetist? Gedreven, resultaatgericht en niet snel tevreden. Wat niet wil zeggen dat je nooit met hem of haar kunt lachen. Integendeel. Plezier hoort wat ons betreft net zo goed bij werken. Maar we gaan op de eerste plaats voor de

Bekijk vacature »

Software Developer / Maatwerk / 4GL / SQL

Functieomschrijving Heb jij ervaring met Software Development en wil je je graag verder ontwikkelen bij een internationaal bedrijf in regio Eindhoven? Lees dan snel verder! Software ontwikkeling met technieken als Magic XPA en DB2 relationele databases. Ontwikkelen van nieuwe onderdelen van het centrale (maatwerk) softwarepakket. Uitbreiden bestaande functies binnen het pakket. Wensen en eisen van gebruikers in kaart brengen. Meedraaien in projecten. Informatieanalyses maken en uitwerken. Jezelf ontwikkelen binnen de organisatie, bijvoorbeeld op het gebied van BI of integratie met behulp van SAP PI/PO. Ondersteunen van de helpdesk bij software issues. Functie-eisen 1 tot 3 jaar ervaring op het gebied

Bekijk vacature »

C# Developer /SaaS applicaties/MVC/ SQL/ 4.000 eur

Functieomschrijving Ben jij een .NET (C#) Developer wil werken in een IT-minded organisatie? Heb je kennis van MVC en SQL? Wil jij werken aan in-house ontwikkelde applicaties? Houd jij de nieuwste technieken in de gaten om het ontwikkelproces beter te laten verlopen? Lees dan snel verder! Nieuwbouw, onderhoud en bugfixing van de applicaties; Het produceren van code met een hoge kwaliteit; Hulp bieden aan jouw collega's met verschillende (complexe) technische kwesties; Kwaliteitsmonitoring van het gehele project, incl. de opgeleverde wijzigingen; Het waarnemen van verbetermogelijkheden en deze op de planning zetten. Functie-eisen Uitgebreide werkervaring met C#; Kennis van MVC en SQL;

Bekijk vacature »

Java Developer Internationaal complexe calculaties

Functieomschrijving Kom jij het best tot je recht in een creatieve omgeving en heb jij een pragmatisch instelling? Denk jij graag vijf stappen vooruit en neem je andere daarin mee? Dan pas je zeker bij dit bedrijf. Lees dus snel verder. Ontwikkelen van applicaties en nieuwe functionaliteiten in Java; Aanpassingen maken in bestaande code; Overleggen en samenwerken met architecten en Product Owners; Werken binnen een multidisciplinair Scrumteam met betrekking tot analyse, design en ontwikkeling; Samenwerken en ondersteunen van testers in het proces van automatische regressietesten. Functie-eisen Je hebt minimaal een afgeronde HBO of WO opleiding in de richting van de

Bekijk vacature »

Traineeship Pega Developer MKB Brandstof & BPM

Heb je een ICT gerelateerde HBO/ WO opleiding afgerond, interesse in Business Process Management, vind je persoonlijke ontwikkeling belangrijk en wil je deel uitmaken van MKB Brandstof? Dan is het Traineeship tot Pega Developer van MKB Brandstof en BPM Company iets voor jou! Met een opleidingsprogramma en begeleiding op maat –zowel vanuit MKB Brandstof als BPM Company- zorgen we ervoor dat jij je optimaal kan ontwikkelen. De eerste 2 maanden ben je bezig met het behalen van je Pega certificeringen (Certified System Architect (CSA) en Certified Senior System Architect (CSSA)). Hierin zal je door BPM Company worden begeleid. Daarna ga

Bekijk vacature »

Pagina: « vorige 1 2

Frits van Leeuwen

Frits van Leeuwen

06/02/2020 20:19:03
Quote Anchor link
Zo zo.... dat is nog eens een uitleg.
Ik heb inderdaad alles al in de juiste volgorde staan. Dat doe ik door het veld 'menu_sub_van' te gebruiken om aan te geven onder welk menu hij hoort, en 'menu_waarde' bepaal ik de hoogte in het menu. De items die het hoofdmenu vormen, hebben bij 'menu_sub_van' de waarde 0.
Als er een submenu is, vul ik daar de waarde in die bij de hoofdmenu-items bij 'menu_waarde' is ingevuld.

Door ORDER BY te gebruiken, levert de query alles in de juiste volgorde aan. Het blijft natuurlijk wel dat de data die ik in geef, goed moet worden ingegeven. Anders staat het menu door elkaar. Maar dat heeft verder niets met de werking van de code te maken.

Mijn probleem zit hem in het vullen van de array.

Misschien daarna nog wel meer, maar dat durf ik nu niet te zeggen. Ik dank dat het dan wel gaat lukken.
Want als het goed is zou bij een op de juiste manier gevulde array, de code moeten werken.
 
PHP hulp

PHP hulp

20/02/2020 14:21:24
 
- Ariën -
Beheerder

- Ariën -

06/02/2020 20:48:35
Quote Anchor link
Over welke array heb je het, waar je op vast loopt?
 
Thomas van den Heuvel

Thomas van den Heuvel

06/02/2020 20:56:53
Quote Anchor link
Heb je voorbeeld even aangepast, het volgende zou moeten werken. Je overschreef trouwens elke stap van de loop $myItems, dus dat ging sowieso niet werken :p.

Dit zou in grote lijnen moeten werken, hierbij bouw ik rechtstreeks de boom, zonder "myItems" in een apart array te zetten:
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
<?php
$query
=
    "SELECT menu_id, menu_tekst, menu_waarde, menu_sub_van, menu_link, menu_reg_date
    FROM tabel_menu
    ORDER BY menu_sub_van, menu_waarde"
;

$result = mysqli_query($connect, $query);

// NB dit is automatisch het element op index 0, het root-element, je zou dit ook expliciet kunnen doen met 0 => array(...)
$myTree = array(
    array(
        'data'     => 'root',
        'parent'   => false, // of NULL, of wat dan ook, de root heeft geen parent
        'children' => array(),
    ),
);


while ($row = mysqli_fetch_assoc($result)) {
    // maak het huidige tree-item aan
    $myTree[$row['menu_id']] = array(
        'parent'   => $row['menu_sub_van'], // niet echt nodig om toe te voegen, maar kan handig zijn
        'data'     => $row['menu_tekst'],
        'children' => array(), // initialiseer children als leeg array
    );

    // voeg het huidige item toe als child van de parent :)
    // de query zou door de sorteervolgorde moeten garanderen dat het parent-element - $myTree[$row['menu_sub_van']] - reeds bestaat

    $myTree[$row['menu_sub_van']]['children'][] = $row['menu_id'];
}


// de rest als voorheen
?>

Overigens, als de parent (menu_sub_van) NULL is, wat mogelijk handig kan zijn als je een relationele database hebt en een foreign key wilt maken die naar zichzelf (dezelfde tabel) wijst, dan zou je deze om moeten zetten naar 0 ingeval het het root-element betreft (of wat je voor index voor het root-element gekozen hebt - ook dit kun je vangen in een variabele zodat je dit maar op 1 plaats hoeft aan te passen), dus zoiets voor alle code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$parent
= ($row['menu_sub_van'] === NULL ? 0 : $row['menu_sub_van']);
?>

En vervolgens refereer je overal aan de parent via $parent in plaats van $row['menu_sub_van']. Dit werk mogelijk ook beter voor de leesbaarheid.

Ten overvloede:
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
<?php
$rootId
= 0; // definieer deze variabele op 1 plek zodat je deze ook maar op 1 plaats hoeft aan te passen

$myTree = array(
    $rootId => array(
        'data'     => 'root',
        'parent'   => NULL,
        'children' => array(),
    ),
);


while ($row = mysqli_fetch_assoc($result)) {
    $parent = ($row['menu_sub_van'] === NULL ? $rootId : $row['menu_sub_van']);
    $myTree[$row['menu_id']] = array(
        'parent'   => $parent,
        'data'     => $row['menu_tekst'],
        'children' => array(),
    );


    $myTree[$parent]['children'][] = $row['menu_id'];
}

?>


En weer op eenzelfde wijze zou je $row['menu_id'] kunnen vangen in een variabele $currentId ofzo.

Deze regel wordt dan ook meteen (nog) beter leesbaar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$myTree
[$parent]['children'][] = $currentId;
?>

En dat illustreert weer het belang van een goede naamgeving voor (en de introductie van hulp)variabelen.
Gewijzigd op 06/02/2020 21:12:35 door Thomas van den Heuvel
 
Frits van Leeuwen

Frits van Leeuwen

08/02/2020 16:16:00
Quote Anchor link
Het is gelukt.
Ik heb het een en ander aangepast en wat gevogeld.
Eerder leerde ik dat PHP en HTML code zo veel mogelijk gescheiden dient te worden. Dus beginnen met PHP en daarna de HTML met een minimum aan PHP code. Dus die les heb ik goed onthouden en hier verwerkt.
Allemaal erg bedankt voor deze nieuwe lessen.

De code hier onder, is de uiteindelijke code. Het werkt.

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
<?php     // *** menu ****
$query =
    "SELECT menu_id, menu_tekst, menu_waarde, menu_sub_van, menu_link, menu_reg_date
    FROM tabel_menu
    ORDER BY menu_sub_van, menu_waarde"
;

$result = mysqli_query($connect, $query);

// NB dit is automatisch het element op index 0, het root-element, je zou dit ook expliciet kunnen doen met 0 => array(...)
$rootId = 0; // definieer deze variabele op 1 plek zodat je deze ook maar op 1 plaats hoeft aan te passen

$myTree = array(
    $rootId => array(
        'data'     => 'root',
        'parent'   => NULL,
        'link' => NULL,
        'children' => array(),
    ),
);


while ($row = mysqli_fetch_assoc($result)) {
    $parent = ($row['menu_sub_van'] === NULL ? $rootId : $row['menu_sub_van']);
    // maak het huidige tree-item aan
    $myTree[$row['menu_waarde']] = array(
        'parent'    => $parent, // niet echt nodig om toe te voegen, maar kan handig zijn
        'data'        => $row['menu_tekst'],
        'link'         => $row['menu_link'],
        'children' => array(), // initialiseer children als leeg array
    );

    // voeg het huidige item toe als child van de parent :)
    // de query zou door de sorteervolgorde moeten garanderen dat het parent-element - $myTree[$row['menu_sub_van']] - reeds bestaat

    $myTree[$parent]['children'][] = $row['menu_waarde'];
}


// weergavefunctie
function displayTree($tree, $index)
{

    if ($index == 0) {
        echo "<ul class='art-hmenu'>";
    }

    else
    {
        echo "<ul>";
    }

    
    foreach ($tree[$index]['children'] as $child)
    {

        echo "<li><a href='".$tree[$child]['link']."'>".$tree[$child]['data']."</a>";
        if (count($tree[$child]['children']) > 0)
        {

            displayTree($tree, $child);
        }

        echo "</li>";
    }

    echo "</ul>";
}

?>


<nav class="art-nav">
    <?php
        // weergave
        if (count($myTree) > 0)
        {

                displayTree($myTree,0);
        }
    
    ?>

</nav>
Gewijzigd op 08/02/2020 16:31:42 door Frits van Leeuwen
 
- Ariën -
Beheerder

- Ariën -

08/02/2020 16:34:18
Quote Anchor link
Fijn dat het werkt. Al zou ik liever in de databasestructuur logische benaming gebruiken als ParentID, om in het stramien van je script te blijven. ;-)
 

Pagina: « vorige 1 2



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.