Category tree

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

.NET developer

Functie Jij begint als .NET ontwikkelaar in een team met 10 andere Software Engineers. De werkzaamheden zijn afwisselend, zo kan het dat jij bezig bent met volledig nieuwe features of het door ontwikkelen van bestaande sites of shops. Wij ontwikkelen web applicaties, maar ook mobiele applicaties. Daarnaast bijt jij je soms ook van in externe koppelingen met systemen zoals een ERP. Als team is er een duidelijke focus m.b.t. het waarborgen van de performance en snelheid van webshops. Ook zijn wij expert op het gebied van configuratoren. Kortom enorm veel afwisselende werkzaamheden! Ook jouw werkplek kan afwisselend zijn. Soms heb

Bekijk vacature »

Junior / Medior C# .NET ontwikkelaar in Brabants t

Bedrijfsomschrijving Ben jij een gepassioneerde C# .NET ontwikkelaar met een voorliefde voor hardware? Dan is dit de perfecte kans voor jou! Bij ons bedrijf krijg je de kans om deel uit te maken van een team van sociale en enthousiaste techneuten die er elke dag naar streven om onze eigen ontwikkelde software nog beter te maken. Het team van ongeveer 10 team medewerkers maakt zich hard om de interne processen gestroomlijnd te laten verlopen. Functieomschrijving Als lid van ons hechte en behulpzame team word je betrokken bij diverse projecten. Daarbij krijg je te maken met data-analyses, content en de logistieke

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Java developer

Als Java Developer bij Sogeti ben je onderdeel van onze toonaangevende community die bestaat uit ruim 100 gepassioneerde Java professionals. In teamverband lever je mooie prestaties. Daarmee draag je aan bij de meerwaarde die wij leveren aan onze top-opdrachtgevers. Geen werkdag is hetzelfde! Je bent voortdurend bezig met het oplossen van allerlei complexe vraagstukken binnen bedrijfs kritische systemen voor onze klanten in regio Noordoost zoals DUO, ING, CJIB en Tendernet. Natuurlijk krijg jij de mogelijkheid je verder te certificeren in dit vakgebied. We organiseren regelmatig technische Meetups en doen veel aan kennisdeling. Sogetisten hebben plezier in hun werk en staan

Bekijk vacature »

Belastingdienst - Freelance Senior Applicatie ontw

Startdatum: 01.06.2023 Richttarief: €65,00 - €75,00 Duur van de opdracht: 6 maanden Uren per week: 36 Taal: Nederlands vereist! Gelieve in het Nederlands te solliciteren. Functieomschrijving: We verwachten van je, dat je: Brede ervaring hebt als JAVA-ontwikkelaar; Ervaring hebt met Agile/Scrum-werken en je thuis voelt in een Agile omgeving; Een aandeel levert aan het scrumproces en in de SAFe-releasetrain; Zelfstandig werkt in een scrumteam en intensief de samenwerking op zoekt met je directe collega’s en je omgeving; Ervaring meebrengt met het schattten en inplannen van taken tot en met het testen en demonstreren van de opgeleverde functionaliteit; Collega’s in je

Bekijk vacature »

Junior PHP (Laravel) Developer

Functie omschrijving Wij zijn op zoek naar een PHP Laravel Developer! Sta je aan het begin van je carrière en ben je op zoek naar een leuke baan? Lees dan verder! Voor een softwarebedrijf in omgeving van Schiphol zijn wij op zoek naar een ervaren PHP (Laravel) Developer. Je gaat je bezighouden met het ontwikkelen van innovatieve bedrijfsapplicaties. Samen met het team, bestaande uit designers en developers, maak je mooie oplossingen voor bedrijven in diverse branches. Je zorgt dat de opgeleverde websites perfect werken en de klant meer dan tevreden is. Je kunt rekenen op een afwisselende baan met leuke

Bekijk vacature »

Back end Node.js developer

Functie Het ontwikkelteam bestaat momenteel uit 5 (back-end) Developers, 2 systeembeheerders, 1 DevOps engineer, 1 Tech Lead en 2 Scrum Masters. Samen wordt er doorontwikkeld aan twee SaaS-platformen die in een hoog tempo doorontwikkeld moeten worden. Omdat innovatie een belangrijk speerpunt binnen de organisatie is, wordt er ook continu naar snellere en slimmere oplossingen te bedenken en realiseren. Als Back-end Developer hou jij je dagelijks bezig met vraagstukken zoals: API-development, high volume datastromen, het ontwikkelen van Bots aan de hand van A.I. Daarnaast denk en werk jij mee aan de onlineapplicaties voor klanten. Er wordt zelfstandig en in teamverband gewerkt

Bekijk vacature »

Senior Front-end Developer

Dit ga je doen Met behulp van diverse programmeertalen ontwikkelen van Front-end software; Het begeleiden van het front-end team; Het oplossen van incidenten; Het bijhouden van een backlog; Je hebt een actieve bijdrage in de wekelijkse overleggen met de omliggende teams; Je houdt trends bij en adviseert het management hierover waar nodig; Helder communiceren met de stakeholders om hen zo mee te nemen in projecten en laten inzien wat de duur en toegevoegde waarde van bepaalde projecten is. Hier ga je werken Deze organisatie heeft circa 40 miljoen bezoekers per maand en heeft innovatie hoog in het vaandel staan. Het

Bekijk vacature »

Junior Low-code ontwikkelaar gezocht omgeving Arnh

Bedrijfsomschrijving Wij zijn een dynamisch IT-bedrijf dat zich richt op het stroomlijnen van bedrijfsprocessen en het creëren van ondersteunende applicaties. Onze kracht ligt in het combineren van zakelijk inzicht met IT-expertise via gestroomlijnde procesontwerpen en wendbare applicatieontwikkeling met behulp van Low-code technologieën. Als jonge professional krijg je de kans om samen te werken met een team van 15 deskundige collega's, verspreid over nationale en internationale locaties. We bieden je een leerzame omgeving waar je je vaardigheden kunt ontwikkelen en groeien in je rol als Low-code ontwikkelaar. Word jij onze nieuwe Junior Low-code Ontwikkelaar (OutSystems)? Versterk ons team en draag bij

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Starter/junior PHP developer

Functie Momenteel zijn ze op zoek naar een junior PHP developer om het team te versterken. Als back-end developer bouw je de enterprise software die hun bedrijf helpt bij haar primaire processen. Afhankelijk van de omvang van het project werk je in een klein team aan een project. Ze hebben dagelijkse stand-ups en elke twee weken een scrumsessie, begeleid door de Scrum Master, waar je je ideeën kunt presenteren en samen met de Product Owner kunt werken aan het beste product. Ze vertrouwen enorm op hun eigen bedrijfssoftware. Dit geeft hun een groot voordeel ten opzichte van hun concurrentie. Zo

Bekijk vacature »

Fullstack Webdeveloper .NET Azure Big Data SaaS

Bedrijfsomschrijving Deze klant van ons is recentelijk onderdeel geworden van een grote moederorganisatie, ze zijn dé partij als het gaat om software maken voor ambitieuze ondernemers, ze maken maatwerk software. Vanuit het fantastisch vormgegeven hightech gebouw te Rotterdam centrum werken ze met zo'n 40 medewerkers aan hoogwaardige software gericht op financiële data, betaalinformatie, maar ook backoffice software. De software wordt webbased, desktop en mobile aangeboden en er worden zeer moderne ontwikkeltechnieken toegepast. Je moet dan denken aan patroonherkenning, Big Data, Machine Learning en OCR. Als Developer, ongeacht je niveau, ga je hier te maken krijgen met de allerleukste kant van

Bekijk vacature »

Front-end developer (React)

Functie Het frontend team bestaat momenteel uit 4 dedicated front-enders en is hard aan het groeien! Ook werken er diverse designers waar je veel mee schakelt. Samen leveren jullie een essentiële bijdrage aan de applicaties die ze voor hun klanten realiseren, jij bent hierin de schakel tussen de eindgebruiker en de slimme backend. Je werkt in het frontend team samen met de backend teams en product owners om te zorgen dat onze applicaties een fijne gebruikerservaring opleveren. Ze werken o.a. met: React, Atomic design, Styled components, JavaScript / TypeScript, NPM, Webpack Blade templates, HTML, SCSS, Git flow. Eisen • HBO

Bekijk vacature »
Onbekend Onbekend

Onbekend Onbekend

05/03/2009 20:51:00
Quote Anchor link
Stel, ik heb een tabel met items. Ieder item heeft een id. Ik heb nog een tabel met categorieën, dit is zeg maar een oneindige tree. Iedere categorie kan weer een child zijn van een andere categorie. Ik heb ook een koppel tabel, die een itemId aan een categoryId koppelt. Ik kan de category tabel compleet opnieuw indelen met lft & rgt etc.. (ik snap er totaal niets van), dus dat is geen punt.

Stel, ik heb zo'n tree:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
- 1
   - 2
     - 3
   - 4
     - 5
       - 6
       - 7
     - 8
- 9
etc..
(dit zijn dus de id's van de categorien


Zo kan het oneindig door gaan.
Stel, ik koppel item 1 aan categorie 3 en 4. Dat zijn dus twee records in de koppel tabel. Ik wil uiteindelijk kan voor item 1 dit weergeven:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
1  2  3
1  4


Zeg maar net als bij nieuws bij T.net. Kan iemand mij misschien helpen met hoe ik dit kan bereiken? Ik weet dat het lukt met gewoon iedere categorie een parent op geven en dan eerst een query om alles van item 1 uit de koppel tabel te halen en vervolgens eerst alle children selecteren met de id's die in de koppel tabel staan en als parentId niet 0 is nog een query en zo een path opbouwen, maar ik zou dit graaaaag met zo min mogelijk queries doen.

Gr. Thomas.
 
PHP hulp

PHP hulp

20/05/2024 14:32:57
 
Kumkwat Trender

Kumkwat Trender

05/03/2009 20:57:00
Quote Anchor link
nog een kolom in je database maken en daarin de toebehoren categorien beheren

dus stel je voor

id's | koppel id's
-------------------
1 |
2 | 1
3 | 1
4 | 2
5 |
6 |


En dat je je script zo bouwt dat je dan zo een output krijgt:

1
- 2
-- 4
- 3
5
6

(misschien is er een andere handigere manier ervoor, de enigste manier dat ik op het moment kan bedenken is dit namelijk)
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Onbekend Onbekend

Onbekend Onbekend

05/03/2009 21:51:00
Quote Anchor link
Ik snap er niet veel van. Kun je dat misschien nog wat duidelijker uitleggen?

Edit: is het niet het makkelijkste om dit toch met een aantal queries te doen en bij het bewerken op te slaan en direct de output te geven? Maar stel dat ik dan de naam van een categorie bewerk, dan is de output die opgeslagen is niet meer correct. Wat is hiervoor de beste methode?
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Kumkwat Trender

Kumkwat Trender

05/03/2009 22:27:00
Quote Anchor link
Wat ik zei is toch ook goed? welke deel snap je niet van me uitleg?

Gewoon
stel je voor je gaat alle id nummers na
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
<?php
$id
=1;

$koppelid2 = "1";
$koppelid6 = "1";
$koppelid7 = "2";
$koppelid8 = "3";

while ($id <= 10) {
    if(empty(${'koppelid'.$id})) {
        echo $id.'<br>';
    }
elseif(ctype_digit(${'koppelid'.$id})) {
        for($streep=0;$streep<${'koppelid'.$id};$streep++){
            echo '<dir>';
        }

        echo '- '.$id;
        for($streep=0;$streep<${'koppelid'.$id};$streep++){
            echo '</dir>';
        }
    }

    $id++;
}

?>


als output krijg ik
1
---- 2
3
4
5
------ 6
----------- 7
---------------- 8
9
10
Gewijzigd op 01/01/1970 01:00:00 door Kumkwat Trender
 
Onbekend Onbekend

Onbekend Onbekend

06/03/2009 07:40:00
Quote Anchor link
Ik snap het wel wat jij nou bedoelt, maar heb je überhaubt mijn post gelezen? Ik wil iets heel anders dan dat jij nu aan het doen bent.
 
Jason de Ridder

Jason de Ridder

06/03/2009 09:18:00
Quote Anchor link
Tommy, je mag ook best wat duidelijker zijn.

Je hebt drie tabellen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
-- MENU --   -- ITEMS --  -- MENU_ITEMS --
  id                id                menu_id
  name          item             item_id
  childof        
  left
  right

Met de volgende waarden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
-- MENU --  -- ITEMS --           -- MENU_ITEMS --
 1 home        1 nieuwsitem1      2 - 1
 2 nieuws      2 nieuwsitem2      2 - 2
 3 contact      3 plattegrond       3 - 3


Wat je uiteindelijke wil is een associatieve array in de trant van:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
[menu] =>
    ['home'] => 'home'
    ['nieuws'] =>
        [0] => 'nieuwsitem1'
        [1] => 'nieuwsitem2'
    ['contact'] =>
        [0] => 'plattegrond'


Moet ff weg, als ik zo tijd heb maak ik het wel ff af.

[9:39 uur]
Ik bedacht in één keer dat je ook gewoon alleen menu kan doen en deze iets van een type mee kan geven. (type menuitem, type content)
Er is een 'mooie' PEAR class, deze gebruikt het sorteer principe - ben ik even kwijt -. Komt erop neer: elk item krijgt een nummer links en een nummer rechts. Zo kan alles berekend worden, voorbeeld:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
   1 home 16
   2 nieuws 15
       3 nieuwsitem1 14
       4 nieuwsitem2 13
            5 subnieuws 12
       6 nieuwsitem3 11
   7 contact 10
       8 plattegrond 9


[edit]
Sorting heet: Modified Preorder Tree Traversal: http://www.sitepoint.com/article/hierarchical-data-database/2/
[/edit]
Gewijzigd op 01/01/1970 01:00:00 door Jason de Ridder
 
Arian Stolwijk

Arian Stolwijk

06/03/2009 11:37:00
Quote Anchor link
Kijk ook eens naar deze class:

http://www.phphulp.nl/php/scripts/4/1538/

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

$sql
= "SELECT id,parent_id,title,link FROM menu";

// ... $results wordt gevuld met de resultaten, via mysqli,pdo whatever


$nested = new Nested ();

foreach($results as $menu_item){
    $nested->addChild($menu_item['id'],$menu_item['parent_id'],$menu_item);
}


?>


Vervolgens kun je dan makkelijk via een recursieve functie er bijvoorbeeld een html list (<ul>/<li>) van maken voor je menu.
 
Jurgen assaasas

Jurgen assaasas

06/03/2009 11:46:00
Quote Anchor link
Je kunt toch gewoon:


categorien

id INT
parent INT
name TEXT

Als er geen parent is, is het dus een hoofd categorie.
 
Onbekend Onbekend

Onbekend Onbekend

06/03/2009 15:49:00
Quote Anchor link
Het is de bedoeling dus dat ik zeg maar categorieën heb. Iedere categorie heeft een parent, zoniet, dan is parent 0. Het ophalen van een tree is niet zo moeilijk. Stel, ik heb deze tabellen:
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
items
+----------------------------------+
| itemId                           |
+----------------------------------+
| 1                                |
| 2                                |
| 3                                |
+----------------------------------+

koppelTable
+--------+------------+------------+
| id     | itemId     | categoryId |
+--------+------------+------------+
| 1      | 1          | 3          |
| 2      | 1          | 4          |
| 3      | 2          | 1          |
| 4      | 3          | 1          |
+----------------------------------+

categories
+--------+------------+------------+
| id     | name       | parent     |
+--------+------------+------------+
| 1      | Test 1     | 0          |
| 2      | Test 2     | 1          |
| 3      | Test 3     | 2          |
| 4      | Test 4     | 1          |
| 5      | Test 5     | 4          |
| 6      | Test 6     | 5          |
+----------------------------------+


Dus ik bekijk item 1. Daarbij wil ik dan deze trees weergeven:
Test 1 » Test 2 » Test 3
Test 1 » Test 4

Hoe kan ik dit met zo min mogelijk queries doen? Ik hoop dat het nu een beetje duidelijk id.

Ik gebruik btw MySQL

Edit, is het niet makkelijker om gewoon álle data uit de categorieën tabel te selecteren en uit de koppel tabel en dan een tree bouwen en eventueel server-side cachen?
Gewijzigd op 01/01/1970 01:00:00 door Onbekend Onbekend
 
Jurgen assaasas

Jurgen assaasas

06/03/2009 17:18:00
Quote Anchor link
Je moet een recursieve functie maken die een loop doorloopt en vervolgens zichzelf aanroept om de childs weer te vinden. Ik had eerst een mooie link waarbij je 2 array's had, een array parents en een array childs.
 
Onbekend Onbekend

Onbekend Onbekend

06/03/2009 17:46:00
Quote Anchor link
Ik ben even gaan knutselen, en kreeg zo'n tree:
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
array(2) {
  [0]=>
  array(1) {
    [2]=>
    array(3) {
      ["id"]=>
      string(1) "2"
      ["name"]=>
      string(6) "Genres"
      ["children"]=>
      array(1) {
        [3]=>
        array(3) {
          ["id"]=>
          string(1) "3"
          ["name"]=>
          string(8) "Shooters"
          ["children"]=>
          array(1) {
            [4]=>
            array(3) {
              ["id"]=>
              string(1) "4"
              ["name"]=>
              string(21) "First Person Shooters"
              ["children"]=>
              array(1) {
                [0]=>
                array(3) {
                  ["id"]=>
                  string(1) "6"
                  ["name"]=>
                  string(1) "t"
                  ["parent"]=>
                  string(1) "4"
                }
              }
            }
          }
        }
      }
    }
  }
  [1]=>
  array(1) {
    [0]=>
    array(3) {
      ["id"]=>
      string(1) "2"
      ["name"]=>
      string(6) "Genres"
      ["parent"]=>
      string(1) "0"
    }
  }
}


Met deze code:
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
<?php
                if ($reviewsData[0]['categoriesCacheId'] == "0") {
                    $categoriesModel = new categoriesModel();
                    $categoriesDump = $categoriesModel->getAllCategories(0, true, 'parent');
                    foreach ($categoriesDump as $category) $categoriesData[$category['parentId']] = $category;
                    unset($categoriesDump);
                    
                    $categoriesLinks = $reviewsModel->getAllCategoryLinks($reviewsData[0]['reviewId']);
                    
                    $outputTree = array();
                    foreach ($categoriesLinks as $link) {
                        $outputDump = array();
                        $outputDump[] = array('id' => $categoriesData[$link['category']]['parentId'], 'name' => $categoriesData[$link['category']]['name'], 'parent' => $categoriesData[$link['category']]['parent']);
                        
                        $stop = true;
                        $categoryId = $link['category'];
                        
                        while ($stop) {
                            $categoryId = $categoriesData[$categoryId]['parent'];
                            echo $categoryId;
                            
                            if ($categoryId != 0) {
                                $outputDumpCopy = $outputDump;
                                unset($outputDump);
                                $outputDump = array();
                                $outputDump[$categoryId]['id'] = $categoryId;
                                $outputDump[$categoryId]['name'] = $categoriesData[$categoryId]['name'];
                                $outputDump[$categoryId]['children'] = $outputDumpCopy;
                                unset($outputDumpCopy);
                                
                                echo '<hr /><pre>';
                                var_dump($outputDump);
                                echo '</pre>';
                            }
else {
                                $stop = false;
                            }
                        }

                        
                        $outputTree[] = $outputDump;
                    }

                    $this->view->assign('v', $outputTree);
                }

?>


Nu is mijn bedoeling om dit te cachen in een tabel en als er iets aan een categorie wordt gewijzigd, de cache items waar de gewijzigde category wordt gebruikt, te verwijderen, en als er geen tree in de cache zit, gewoon een nieuwe maken.
 



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.