[sql] Opbouw Menu

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

In-house .NET software developer

Functie omschrijving Ben jij op zoek naar een uitdagende in-house development functie? Maak jij graag hét verschil m.b.t. interne automatisering? Haal jij energie uit het automatiseren van processen voor je eigen collega's? Dan hebben wij de perfecte vacature voor je! Voor een gezellig Brabants familiebedrijf, zijn wij op zoek naar een .NET software developer. Je gaat in deze zelfstandige functie werken aan de ontwikkeling van eigen applicaties & en het koppelen van deze applicaties aan de ingekocht software. Jouw werkzaamheden zien er als volgt uit: Het management team signaleert behoeftes vanuit de business. Vervolgens worden deze behoeftes uitgewerkt en geprioriteerd.

Bekijk vacature »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Medior Java developer (fullstack)

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 »

Oracle Apex developer

Bedrijfsomschrijving My client is a technology company based in Den Bosch, the Netherlands. They specialize in providing innovative software solutions to clients, and they are currently looking for an experienced Oracle Apex developer to join the IT team. Functieomschrijving As an Oracle Apex developer, you will be responsible for designing, developing, and maintaining web-based applications using Oracle Apex. You will work closely with project managers, business analysts, and other developers to ensure that clients' needs are met and that the software solutions are of the highest quality. Responsibilities: Design, develop, and maintain Oracle Apex applications. Work with project managers and

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Randstad - Freelance Backend Developer/ Data Engin

Starting date: 10.05.2023 Salary range: €67,00 - €77,00 Duration: 6 months Hours: 40 Working model: Hybrid* MUST be NL based Job description: Our vision is to have a consistent and data driven experience for all sales across all our operating companies. Our mission is to enable our salespeople to be able to reach out to the right company at the right time. We do this by creating data driven micro services and solutions. We mainly focus on implementation in the Google Cloud but also integrate with local systems and other cloud solutions. A typical day: As a back-end developer you

Bekijk vacature »

Front-end Angular developer

Functie In jouw rol als Front-End developer werk je samen met de backend developers om middels tweewekelijkse sprints het platform naar een hoger niveau te tillen. Hiernaast heb je affiniteit met data en werk je graag samen met het team om de gegevensintegriteit en -beveiliging te waarborgen, om ervoor te zorgen dat de gebruiker wereldwijd de beste SaaS-services heeft. Deze organisatie heeft meer dan 100 mensen in dienst, waarvan er 45 in Nederland werken. Het ontwikkelteam bestaat uit 10 mensen en is verdeeld in 2 scrumteams. Het eerste team bestaat uit Java en Scala ontwikkelaars. Het tweede team, waar jij

Bekijk vacature »

Java Developer

Dit ga je doen Ontwerpen en bouwen van nieuwe functionaliteiten binnen de complexe omgeving; Proactief de processen kwalitatief en efficient inrichten; Opzetten van Unit Tests; Code Reviews; Regie nemen voor innovatieve projecten; Landschap beheren en de bijbehorende ketens hierbij in het oog houden. Hier ga je werken De organisatie is actief binnen de financiele branche en heeft een IT afdeling van circa 450 man. De organisatie voorziet de maatschappij binnen de financiele dienstverlening en is gedurende de jaren een onmisbare schakel geworden. Het is een high profile organisatie waar ze veel te maken hebben met veranderingen voortkomend uit maatschappelijke ontwikkelingen,

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

Front end developer

Functie Jij als ervaren Front end developer bent een expert het gebied van Javascript en React. Je wordt onderdeel van een multidisciplinair team bestaande uit een PO, twee Front end developers, een DevOps/Back end developer, een UX/UI designer en een projectmanager. Verder is er iemand verantwoordelijk voor de HR en is de algemeen directeur nauw betrokken bij alle projecten. Dagelijks hou jij je bezig met de verschillende projecten die zijn opgenomen in de sprint. Daarnaast denk je mee over mogelijke oplossingen om de behoefte van de klant op de beste manier in te vullen. Verder spar jij intern met collega’s

Bekijk vacature »

Senior Front-end Developer

Wordt jij de nieuwe Front end specialist / developer? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Onze klantenkring is groot en divers, dat vraagt om flexibiliteit van jou. Tegelijkertijd betekent dit dagelijks nieuwe dingen leren én dat geen werkdag hetzelfde is. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling waarbij iedereen welkom is, zowel binnen als

Bekijk vacature »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Medior Java developer (fullstack)

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 »

Hands-on Solution Architect / Software Architect (

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »
Bart Tuma

Bart Tuma

16/11/2008 12:27:00
Quote Anchor link
Hallo,

Ben momenteel bezig met een menu-boom te maken.
Het probleem: hij selecteerd netjes alle menu onderdelen maar nu moet ik ze orderen, ism met $_GET.

Hij selecteerd:

- De Heidewachtel
-- Ontstaan
-- kennelnaam
-- Pups
-- Onze Honden
--- Test Pagina Heidewachtels
--- Test Test Pagina Heidewachtels

De Streepjes zijn onderliggende pagina's, maar hoe zorg ik dat ze met een get-actie pas zichtbaar worden...

dus als ik zeg maar Heidewachtels selecteer en de eerste resultaten weergeeft dat zijn dus Ontstaan, kennelnaam, Pups en onze honden zichtbaar word en als ik dan op onze honden klik dat de Test Pagina Heidewachtels en Test Test Pagina Heidewachtels pagina wordt weergeven ?

Mijn sql:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
$sql_ =
    "
SELECT
    *
FROM
    Pagina AS t1
INNER JOIN
    Pagina AS t2
ON
    t2.PaginaSid = t1.PaginaId
AND
    t1.GroepId = '" . $Groep_ . "'
";


De sql Tabel:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
PaginaId  PaginaSid  GroepId   PaginaTitel  PaginaContent  
8    NULL    6    Ook een Bulldog
9    NULL    5    De Heidewachtel
10    NULL    4    SUFFOLK SCHAPEN
12    NULL    0    Welkom Op Onze Website
17    0    0    Werkt nu wel
20    9    5    Ontstaan kennelnaam
21    9    5    Pups
22    8    6    Onze Bulldogs
28    9    5    Onze Honden
31    20    5    Test Pagina Heidewachtels
32    31    5    Test Test Pagina Heidewachtels
30    22    6    In memoriam
 
PHP hulp

PHP hulp

27/07/2024 05:39:40
 
Bart Tuma

Bart Tuma

17/11/2008 14:54:00
Quote Anchor link
Kleine Bump....
 
Marco

Marco

17/11/2008 15:09:00
Quote Anchor link
Dus in eerste instantie moet De Heidewachtel zichtbaar zijn, als daar op geklikt wordt Ontstaan t/m Onze Honden, en de onderste twee worden dan zichtbaar als er op Onze Honder geklikt wordt?

Dat is misschien makkelijker te maken met javascript, dan kun je zoiets maken:
http://dev.themadman.nl/menu.html
'Onze Honden' klapt nog niet uit in het voorbeeld.
 
Thijs Damen

Thijs Damen

17/11/2008 16:00:00
Quote Anchor link
Nee joh, geen javascript.

ik heb net een 2-level menu geschreven. maar 3-level is ook goed mogelijk (gewoon doorbouwen op de foreach).

zie hier: de php code. ps, is in zend geschreven. het enigste wat je hoeft te herschrijven is de select functie
$sql = "SELECT * FROM menu ORDER BY parent_id, id ASC";

word hem dan.
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
105
106
107
108
109
110
111
112
113
114
<?php

class Menu extends Zend_Db_Table
{

    protected $_name = 'menu';
    public function _getMenu()
    {

        
        $select = $this->select()->order('parent_id')->order('id ASC');
        $rowset = $this->fetchAll($select);

        foreach ($rowset as $MenuItem) {
              if ($MenuItem->parent_id == '0') {
                $parent_menu[$MenuItem->id]['id'] = $MenuItem->id;
                $parent_menu[$MenuItem->id]['label'] = $MenuItem->menu_name;
                   $parent_menu[$MenuItem->id]['link'] = $MenuItem->menu_link;
                   $parent_menu[$MenuItem->id]['count'] = '0';
             }
else {
                   $sub_menu[$MenuItem->id]['parent_id'] = $MenuItem->parent_id;
                    $sub_menu[$MenuItem->id]['label'] = $MenuItem->menu_name;
                    $sub_menu[$MenuItem->id]['link'] = $MenuItem->menu_link;
                    $parent_menu[$MenuItem->parent_id]['count']++;
              }
        }


        $MenuList = $this->dynamic_menu($parent_menu, $sub_menu);
        return $MenuList;
        }


        protected function dynamic_menu($parent_array, $sub_array)
        {

         $menu = '<ul id="menu">';
          foreach ($parent_array as $pkey => $pval) {
              $menu .= "<li><a class='parent_button' href='".$pval['link']."'>".$pval['label']."</a>";
              if ($pval['count'] > '0') {
                      $menu .= "<ul>";
                foreach ($sub_array as $skey => $sval) {
                         if($sval['parent_id'] == $pval['id']) {
                        $menu .= "<li><a class='sub_button' href='".$sval['link']."'>".$sval['label']."</a></li>";
                         }
                    }

                $menu .= "</ul>";
              }

              $menu .= "</li>";
          }

          $menu .= "</ul></div>";
          return $menu;
        }
      }
[
/code]

css
[code]
#menu, #menu ul {
    list-style: none;
    margin-top: -10px;
}


#menu li {
    float: left;
    position: relative;
    width: 172px;
    height: 36px;
    padding-left: 16px;
}


#menu li ul {
    position: absolute;
    display: none;
    padding-top: 18px;
    margin-left: -12px;
}


#menu li:hover ul, #menu li.over ul {
    display:block;
}

.
parent_button {
    display: block;
    color:red;
    font-size: 18px;
    font-weight: bold;
}

.
sub_button {
    color: black;
    font-size: 15px;
    text-decoration: none;
}

.
sub_button:hover {
    text-decoration: underline;
}
[
/code]

ps. de reden waarom ik .sub_button en .parent_button gebruik is omdat ik dat makkelijker vind stylen. het hoeft natuurlijk niet.

en als laatste je database opzet word zoiets als:
Table: Menu
id (int)
parent_id (int)
menu_name
menu_link


ps. je hoeft het natuurlijk niet te gebruiken maar volgens mij is hier geen javascript voor nodig en heb je op deze manier een nette manier om alles uit een database te trekken en je menu op te zetten.

Nog even snel een edit.

De css is een aangepaste versie van:
http://www.javascriptsearch.com/guides/Beginner/articles/061024DropDownMenu.html

zie daar ook een voorbeeld. Daar zit helaas niet de php bij, maar met een beetje aanpassen moet het je lukken de layout van je uiteindelijke html(source code bekijken;)) net zo te krijgen als daar en de CSS ook te kunnen gebruiken
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
 
Jesper Diovo

Jesper Diovo

17/11/2008 16:44:00
Quote Anchor link
Maak een extra veld aan waar je een rank in zet. Dan kun je via ORDER BY rang ASC alles in de volgorde zetten welke jij wilt.
 
Bart Tuma

Bart Tuma

17/11/2008 16:48:00
Quote Anchor link
Javascript, nee dankje... kan beter met $_GET...
Levels moeten onbeperkt zijn.

maar ik zit grotendeels met het selecteren uit de database
dus als op de heidewachtel wordt geklik dat dan met een GET (?pagina=content&gid=3&sid=9, is de get dus)

GID = Groeps ID
SID = Sub ID

maar als hij dus de sub id uitleest dan weergeeft hij 'De heidewachtel' niet meer, hoe zorg ik er dan voor dat hij wel zichtbaar blijft ?...

@ Thijs, Das OO(P) of niet ?.

Edit:
@Jezpur: Dat is een idee, zal er even naar kijken.
Gewijzigd op 01/01/1970 01:00:00 door Bart Tuma
 
Thijs Damen

Thijs Damen

17/11/2008 17:12:00
Quote Anchor link
Ehm ja. volgens mij wel:P

Wat je misschien ook zou kunnen doen om je doel te bereiken is om een extra tabel te maken speciaal voor menu items.

en dan menu_id op te nemen in je content tabel. zo de link te leggen tussen de huidige te weergeven pagina. en menu opties.

dan kom je uit op:

content:
pagina_id, titel, content, FK menu_id

menu:
PK id, parent_id, naam, link

en dan bijvoorbeeld mijn code aanpassen met:
[code
$menu .= "<li><a class='parent_button' href='".$pval['link']."'?id=".$pval['id'].">".$pval['label']."</a>"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
zodat je link uiteindelijk: www.jewebsite.nl/link.php?id=menu_id word.
dan moet je volgens mij daar al je informatie uit kunnen halen
 



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.