geen submenu

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Software ontwikkelaar ASP .Net / C#

Functie omschrijving Gezocht! Software ontwikkelaar. Ben jij bekend met termen als ASP .Net, C# en SQL? Ben jij op zoek naar een afwisselende en uitdagende IT-functie binnen de agrarische sector? En omschrijf jij jezelf als zelfstandig, enthousiast en proactief? Dan hebben wij de perfecte functie voor jou! Als Software ontwikkelaar binnen deze organisatie ben je samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Je gaat hierbij bijdragen aan de vertaling van klantwensen naar effectieve softwareoplossingen. Verder bestaan je werkzaamheden uit: Technische uitwerking van de business

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

Front-end developer

Functie Als front-end developer kom je te werken in een team van 30 gedetacheerde, en het team is momenteel flink aan het groeien. Je hebt ervaring met het bouwen van complexe bedrijfsapplicaties waar je gebruik maakt van de nieuwste technologieën waarmee jij elke klant omver blaast. Het gaat om uitdagende projecten met een gemiddelde doorlooptijd van 2 jaar. Hierdoor heb jij echt de volledige focus op een project en kun je flinke impact maken. Het team zit boordevol met ervaren developers die samen dezelfde ambitie delen. Aan de hand van opleidingen en trainingen kun je certificaten halen in jouw expertise

Bekijk vacature »

C# developer

Functie Als C# ontwikkelaar ben jij de spin in het web bij deze organisatie. Jij begeleidt en traint de field engineers die bij de klanten machines leveren en installeren. Daarnaast ondersteun jij de field engineers als zij bij de klant vastlopen bij het installeren van de machine m.b.t. software matige vragen. Jouw doel is dan ook om de technische kennis van de field engineers door middel van training zoveel mogelijk uit te breiden. Dit om ervoor te zorgen dat zij zelfstandiger software matige problemen kunnen oplossen. Ook ben jij verantwoordelijk voor het bedenken van software oplossingen voor klanten en dit

Bekijk vacature »

Front-end developer (Medior/Senior)

Functie Het front-end team bestaat momenteel uit 4 collega’s en is hard aan het groeien! Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren. Je werkt in het front-end team samen met de back-end teams en product owners om te zorgen dat de applicaties een fijne gebruikerservaring opleveren. Jouw expertise zorgt ervoor dat de juiste keuzes gemaakt worden qua techniek en ontwerp, van back-end tot aan gebruiker. In samenspraak met je team bepalen jullie de beste keuze voor techniek. Ook is er altijd ruimte om nieuwe technieken te ontdekken. Eisen • Je hebt gedegen

Bekijk vacature »

Software Developer PHP JavaScript Python HBO SQL

Samengevat: Wij zijn een softwarebedrijf voor Autodealers. Ben jij een Medior of Senior Software Developer? Heb je ervaring met PHP, JavaScript of Python? Vaste baan: Java.Developer Software HBO €3.000 - €5.200 Bij ons op de werkvloer is er een positieve en informele sfeer. Naast een goede begeleiding en een enthousiaste klantenkring biedt deze werkgever een prettige omgeving met zeer afwisselende werkzaamheden. Houd jij van aanpakken en denk je dat je deze uitdaging aankunt? Dan zoeken wij jou! Zij werken voor grote klanten. Zij doen omvangrijke projecten die we bij deze werkgever op kantoor realiseren (geen detachering). Zij werken met state-of-the-art

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Lead C++ Developer

De rol van Lead C++ Developer Als Lead C++ developer bij KUBUS word je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de desktop applicaties van BIMcollab, ons platform voor 3D model-validatie en issue-management bedoeld om de kwaliteit van 3D design-modellen voor gebouwen te verbeteren. Betere 3D modellen leiden tot betere gebouwen, dus zo draag je bij aan verduurzaming van de gebouwde omgeving met slimmer gebruik van materialen, minder verspilling en energie-efficiënte gebouwen. Een goede gebruikerservaring staat bij ons hoog in het vaandel; we gaan in onze ontwikkeling voor innovatie en kwaliteit. In je rol als

Bekijk vacature »

Junior full stack developer

Functie Als full stack developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Database Developer

Functieomschrijving Wat ga je doen? Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te voeren, maar het is ook prettig als je in de omgeving van Tilburg woont om naar het kantoor te kunnen komen. Vind jij het leuk om jouw creatieve vaardigheden te benutten om complexe systemen te ontwikkelen? Lees dan snel verder! Bedrijfsprofiel Voor wie

Bekijk vacature »

Front-end Developer Angular

Dit ga je doen Jouw taken als Front End Developer bestaan uit: Het ontwikkelen van maatwerkoplossingen voor klanten; Het meedenken over nieuwe tools en technieken; Het begeleiden van junioren; Het meewerken aan diverse projecten; Het meedenken in UX/UI design. Hier ga je werken Als Front-End Developer ga je in een Scrum team aan de slag met de nieuwste digitale technologieën om klanten en overheden over de hele wereld te ondersteunen met het ondersteunen van hun software, veelal op het gebied van watermanagement en infra. Door middel van real-time data in combinatie met voorspellende analyses, AI, Deep Learning en Machine Learning

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

C# developer

Functie omschrijving We are looking for a dutch native speaker Ik ben op zoek naar een back-end developer, die met name kennis & ervaring heeft van de programmeertaal C#. Jij gaat aan de slag bij een topspeler in de logistieke sector, die zich behalve met logistiek, ook bezig houdt met softwareontwikkeling. Welke taken komen hierbij kijken? Je gaat desktop- en webapplicaties onderhouden en optimaliseren, waarin je werkt met o.a. C#, ASP.NET, SQL Server en T-SQL. Je hebt regelmatig klantcontact om de wensen in kaart te brengen en te evalueren over de huidige draaiende applicaties. Je implementeert nieuwe functionaliteiten toe aan

Bekijk vacature »

SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Veldhoven Vacature ID: 13382 Introductie We is looking for a HANA Developer to work for our client. The candidate has to have an experience in building Data Intensive Applications (DIA’s). The role of a HANA Developer at ASML involves working on building Data Intensive Applications in an industrial/enterprise environment. The primary responsibility is to handle data from various sources and determine the best way to structure it for use by data analysts, who will run queries and algorithms against it for predictive and prescriptive analytics through machine learning. Wat verwachten we van jou?

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

28/03/2024 20:38: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.