geen submenu

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior Front-end Developer

As a medior Front-End Developer at Coolblue you improve the user-friendliness of our webshop for millions of customers. How do I become a Medior Front-end Developer at Coolblue? As a Medior Front-end Developer you work on the user-friendliness of our webshop for millions of customers. You enjoy working with the UX designer to pick up stories. You get energy from coming up with creative solutions and are happy to present this within the team. You are also proud of your work and welcome all feedback. "Want to become a Medior Front-end Developer at Coolblue? Else de Boer explains how to

Bekijk vacature »

Front- & backend developer (32-36 uur per week

Van scratch af helpen onze applicaties te vernieuwen?! We staan aan de vooravond van het vernieuwen van onze applicaties. Hiervoor zoeken wij een nieuw team met developers. De samenstelling varieert van starters tot doorgewinterde, ervaren senior Cloud architecten. Alle vrijheid om creativiteit met de nieuwste tools aan de slag te gaan We werken met het Angular framework voor onze front-end en Spring boot/Java voor de back-end. Onder begeleiding van de Scrum master en andere senior developers krijg je veel vrijheid om technisch uitdagingen aan te pakken en zul je ook met de andere afdelingen binnen NTS te maken hebben om

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 »

PHP Developer Familiebedrijf ElasticSearch

Functieomschrijving Ben jij een PHP Developer met een aantal jaren ervaring en op zoek naar een nieuwe werkgever? Lijkt het je leuk om te werken in een klein team waar je veel zeggenschap hebt en jouw ideeën gewenst zijn en gehoord worden? Lees snel verder en solliciteer! (Door)ontwikkelen, vernieuwen en uitbreiden van Applicaties; Het ontwikkelen van nieuwe functionaliteiten; Het onderhouden van integraties tussen de Applicaties (API's); Meedenken aan de inrichting van het platform en de applicaties; Je voert ook zelf de testen uit. Functie-eisen Hbo denk - en werkniveau; Je bent gewend dat een applicatie nooit 'af' is en dat

Bekijk vacature »

Senior C# Developer

You'll build modern applications for Coolblue back’s office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become Senior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become Senior C# Developer at Coolblue? Funda will explain how to do that. You enjoy doing this Working with various types of

Bekijk vacature »

Java developer medior

Functie­omschrijving ''Bij de Belastingdienst werken we in de Java-ontwikkelstraat met diverse frameworks en tools, zoals Maven, Wicket of Angular, Eclipse of IntelliJ. En of het nu gaat om het fixen van een bug of het maken van een nieuwe applicatie: ik leer veel en zit eigenlijk de hele dag te puzzelen. Alle Java-ontwikkelaars werken intensief samen in scrumteams, waarvan ook de product owner deel uitmaakt. Dit doen we lang niet altijd alleen op kantoor. De Belastingdienst is flexibel en geeft je de ruimte om je werk te doen waar en wanneer jij dat wilt.'' Atsje Gercama - Medior Java-developer bij

Bekijk vacature »

Fullstack Developer Angular 6 Java Complexe omgevi

Functieomschrijving Ben jij toe aan een nieuwe uitdaging binnen een complexe technische omgeving en wil jij met je ruime kennis van Java bijdragen aan een optimaal wegennet? Dan is dit de vacature voor jou! Ontwikkelen van innovatie applicaties met behulp van Angular 6 & Java; 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 Afgeronde HBO- opleiding (Technische richting is een pre); Minimaal 2 jaar relevante werkervaring als Fullstack Developer; Een passie voor techniek en programmeren; Technologieën,

Bekijk vacature »

Junior software developer

Functieomschrijving In jouw nieuwe functie ontwerp je voor de klanten geautomatiseerde processen in de richting van beveiligingsoplossingen. Jouw werkzaamheden bestaan uit: Maken van functionele-en technische ontwerpen Ontwikkelen van software applicaties Documenteren van ontwikkelde software Monitoren en beheren van kwaliteit van de ontwikkelde software Ondersteunde activiteiten bij het beheer van het interne netwerk Functie-eisen Kennis van languages: C# Aspnet Core MS SQL HTML LESS/CSS Json Kennis van Tools: Visual Studio VS Code Microsoft SQL Management Studio WiX Toolset Git (Github) Kennis van Libraries: Razor Pages Server Side Blazor Dapper Mediatr Automapper Fluentvalidation Nodatime Topshelf Bekend met Areas: Websites, Api’s, Windows Services,

Bekijk vacature »

Systeembeheerder Cloud Engineer

Systeembeheerder Cloud Engineer In de afgelopen maanden is er nog nooit zoveel gewerkt in de Cloud als voorheen. Je hebt de laatste ontwikkelingen in de IT op de voet gevolgd. Hierdoor weet je zeker dat je als systeembeheerder Cloud overal terecht kan maar daarbij is het nu nog belangrijker dat je voor een werkgever kiest waar je ondanks de Social distance toch de verbondenheid voelt. Daarom werken wij bij T2 samen met jou en daar plukken wij uiteindelijk samen de vruchten van! Waarom T2? Je haalt voldoening uit de technische uitdagingen binnen een Enterprise omgeving. Je werkt voor top bedrijven

Bekijk vacature »

Junior .Net Developer voor geautomatiseerde emailm

Onze klant is een Email Marketing Automation ontwikkelaar voor vele grote klanten in Nederland en België. Met hun marketingsoftware weten zij dagelijks miljoenen mensen te bereiken voor hun klanten. Als Junior .Net Developer van het jonge en informele Innovatie Team breng jij het platform naar een hoger niveau. Je bent hierbij als junior vanaf dag 1 volledig betrokken bij het team. Je bent betrokken de volledige software development life cycle en gaat dan ook mee naar de grote klanten. Terwijl je wordt ingewerkt en dagelijks spart met je 15 gezellige collega’s, werk je aan zowel de front-end als back-end van

Bekijk vacature »

Senior fullstack .NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

.NET C# web developer gezocht, inhouse project dev

Ben je een ervaren .NET C# web developer en op zoek naar een leuke baan in het zuiden van Zuid-Holland? Een inhouse functie maar met de afwisseling van verschillende projecten en klanten? Projecten die uitdagend zijn door de complexiteit van de systemen? Lees dan verder! Voor een bedrijf in Goeree-Overflakkee zijn we momenteel op zoek naar een ervaren .NET C# web developer. Het bedrijf bestaat uit iets meer dan 20 werknemers en verschillende ervaren software developers. De software projecten zijn uiteenlopend, maar altijd maatwerk oplossingen en veelal complex en bedrijfskritisch van karakter. De bedrijven waarvoor je software ontwikkeld kunnen variëren

Bekijk vacature »

Senior Java Developer Onderzoeksinstituut Architec

Functieomschrijving Wil jij als Senior Java Developer dagelijks meedenken aan diverse architectuur oplossingen? Ga jij graag met je collega’s op zoek naar de beste oplossing? Lees dan snel verder! Doorontwikkelen van diverse applicaties met behulp van o.a. Java 8; Huidige en toekomstige projecten in goede banen leiden; Meedenken over architectuur en innovatiemogelijkheden; Zelfstandig kunnen werken. Functie-eisen Hbo werk- en denkniveau; Minimaal drie jaar relevante werkervaring; Aantoonbare ervaring met Java 8 en Webservices; Kennis van CI/CD en Elasticsearch is een pré; Je bent zelfstandig en kritisch op je eigen werk en die van je collega’s. Bedrijfsomschrijving Als Senior Java Developer kom

Bekijk vacature »

Senior .NET developer / .NET Core / C# / Architect

Functieomschrijving Ben jij een Senior .NET developer met meerdere jaren ervaring en wil jij deze ervaring graag inzetten bij een gerenommeerde organisatie die alleen maar de meest innovatieve projecten oppakt? Heb jij interesse in IoT, AI en complexe datastromen en wil jij meedenken over architectuur vraagstukken? Lees dan nu verder! Je dagelijkse werkzaamheden bestaan uit: Het ontwikkelen van kwalitatief sterke code met C#, .NET Core en Azure; Het van scratch af aan bouwen van oplossingen, platformen, apps en andere portalen; Het meedenken over architectuur vraagstukken; Het leveren van technische input tijdens (pre)sales trajecten; Het bouwen van koppelingen middels API's; Het

Bekijk vacature »

Functioneel beheerder NetSuite

Voor een van onze klanten in de omgeving van Apeldoorn zijn we opzoek naar een functioneel applicatie beheerder. Het bedrijf is snel aan het groeien en daarbij zijn ze ook recentelijk gestart met een groot IT transformatie project. Het bedrijf zit in de beginfase van de implementatie van het nieuwe ERP systeem (NetSuite). Binnen deze rol zal je dan ook zeker een betrokken worden bij dit project. Naast het ondersteunen van het implementatie project zal je samen met je collega's verantwoordelijk zijn voor het goed werkend IT landschap en alle gerelateerde bedrijfsprocessen. Een aantal van je werkzaamheden zullen zijn: Begeleiden

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

27/09/2020 05:03:16
 
- 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.