[sql] Opbouw Menu

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

IoT Software Developer PHP

Functie omschrijving Voor een klein softwarebedrijf in Breda, zijn wij op zoek naar een IoT software developer met kennis van PHP. In deze rol wordt je verantwoordelijk voor het vernieuwen van het multimedia platform van een super tof bedrijf in Breda. Je gebruikt PHP als programmeerlaag, en bent in staat om de helicopterview te pakken / projectmatig te werken. Jouw werkzaamheden zien er als volgt uit: Je gaat aan de slag met de ontwikkeling en vernieuwing van het "intern" ontwikkelde multimedia platform. Je neemt de lead in het moderniseren van het platform door het deels opnieuw op te zetten of

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Cloud Developer

Cloud Developers opgelet! Bij Luminis zijn ze opzoek naar jou. Lees de vacature en solliciteer direct. Luminis is een software- en technologiebedrijf met meerdere vestigingen. Vanuit deze vestigingen werken 200 professionals aan technisch hoogwaardige oplossingen voor klanten zoals KLM, Nike en Bol.com. Ook ontwikkelt Luminis eigen oplossingen op het gebied van cloud, Internet of Things, data intelligence, e-sports en e-learning. Luminis onderscheidt zich door aantoonbaar voorop te lopen in technologie en innovatie. Luminis heeft drie kernpunten die verankerd zitten in alles wat we doen: het omarmen van nieuwe technologie, meesterschap en kennis delen. Functiebeschrijving First things first! Het is belangrijk

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Roosendaal, ontwikkel je als PHP Developer niet alleen webapplicaties, maar ben je verder ook gefocust op het continu inspelen op nieuwe trends en ontwikkelingen m.b.t software development. Naast het bouwen van webapplicaties, ontwikkelen zij ook webshops en websites voor gave opdrachtgevers! Wat ga je doen? Het schrijven van schone en efficiënte codes volgens het Symfony framework; Het ontwerpen en implementeren van webapplicaties met het Symfony-framework; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het Symfony framework; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

Frontend Developer

Dit ga je doen Door ontwikkelen van het online platform Deel uitmaken van verschillende ontwikkelteams Meedenken over UI/UX vraagstukken Uitdragen van Front-end binnen de organisatie Hier ga je werken Deze organisatie, gevestigd in de omgeving van Amsterdam, is een grote onderwijs instelling met meerdere vestigingen en een groot aantal studenten. Zo telt deze organisatie +/- 35.000 gebruikers. Bij deze organisatie staat jouw ontwikkeling centraal en is er veel ruimte voor eigen initiatieven. In samenwerking met jouw team ga jij de online omgeving verder ontwikkelen. In de rol van Front end Developer zal jij 50% van jouw tijd werken in het

Bekijk vacature »

Mendix Developer

For our client in Amsterdam, we are looking for a Senior Mendix Developer. Company description Our client is an IT Consultancy company who’s been active for 10 years now. With their ambitious team, they are working with different clients in order to help them with analyzing their data and giving advice to them, regarding how they can use their data in the smartest ways, or to make sure that their mobile or web applications are working efficiently. As you get a glimpse of various industries, it is guaranteed that no day will be the same. Job description As a Mendix

Bekijk vacature »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

Ambitieuze medior developer

Wat je gaat doen: Heb jij al een paar jaar ervaring als developer maar wil jij naar the next level? In ons NextLevelDev Programma helpen wij jou om de volgende stap te zetten: een mooi programma aan trainingen op het gebied van Java, hippe frameworks, Agile/Scrum, OCP-certificering en optioneel: andere JVM-talen als Kotlin en Scala; Cloud (AWS, Azure, GCP) Soc 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

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een erkende werkgever in de regio van Goes zijn wij op zoek naar een enthousiaste software programmeur met PHP/Symfony ervaring. Een gedreven persoon die het development team komt versterken met het aanpakken van complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor zowel professionele als persoonlijke groei? Lees dan snel verder! Dit ga je doen: Beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Testen en door ontwikkelen van software; Ontwikkelen van nieuwe functionaliteiten;

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

18/11/2024 13:15:17
 
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.