geneste pagina's updaten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

Medior/senior PHP ontwikkelaar E-commerce

Functie Het software development team bestaat momenteel 5 scrum teams . Ieder team heeft een eigen SCRUM Master en eigen tester. Zij werken voornamelijk in PHP en met hun eigen geschreven framework wat Symfony based is . Jij bent samen met je collega’s verantwoordelijk voor het interne softwaresysteem en alle projecten die daar omheen lopen. Alles wat jij ontwikkelt, wordt direct toegepast en uitgerold (wereldwijd). Dit maakt jouw werk tastbaar en uitdagend! Een greep uit jouw werkzaamheden: Toevoegen en ontwikkelen van nieuwe functionaliteiten Logistieke software ontwikkelen voor intern gebruik Tientallen gigabytes aan data inzichtelijk maken Altijd op zoek gaan naar

Bekijk vacature »

Junior Software Developer

Functie omschrijving Wij zijn op zoek naar een Junior Software Developer!? Sta jij aan het begin van jouw loopbaan of heb jij misschien al enige ervaring? Vind jij het daarnaast belangrijk om jezelf constant te kunnen ontwikkelen en uitdagen? Lees dan snel verder! Voor een vooraanstaand softwarehuis in Nieuwegein ben ik op zoek naar een Junior Software Developer. De eigenaar van het bedrijf is ervan bewust dat je als junior nog een hoop kan leren, waardoor je de eerste maanden veel begeleiding en diverse trainingen krijgt. Daarna ga je samen met je collega's aan zowel kleine als grote projecten werken.

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 ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »

Junior/medior Back end developer PHP, Laravel

Functie Jij als ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor veel van je tijd je bezig houden met het ontwikkelen van maatwerk features en applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. Jij als full stack developer zult dus

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

Software Developer C++ en Perl

Ben je een slimme en enthousiaste universitair opgeleide bèta die graag bij een relatief klein softwarebedrijf wil werken waar de sfeer goed is en eigen inbreng gewaardeerd wordt? Wij, IntelliMagic in Leiden, ontwikkelen technisch hoogwaardige software op het gebied van IT infrastructuur performance analytics. Het type software zorgt voor intellectueel interessante uitdagingen. We ontwerpen de producten zelf en verkopen deze als off-the-shelf software aan grote bedrijven in Europa en de VS. Wij zoeken een ervaren C++ software engineer met kennis van Perl voor een van onze ontwikkelteams. Werkzaamheden Samen met de andere ontwikkelaars specificeren, ontwerpen en implementeren van nieuwe functionaliteit

Bekijk vacature »

Back-end Developer (Permanent position with the em

Bedrijfsomschrijving Dutch specialist in technical installation materials. Functieomschrijving Purpose of the position: Our client is looking for a Back-end Developer who, together with the rest of the energetic and dynamic team, is responsible for the development and management of the website. This not only concerns the development and management of the current website, but also the development of a new Headless Commerce Platform to keep the customer's website Future proof. Within the IT department, there is a real DevOps culture and the commerce team is at the forefront and tries to implement continuous improvements. Most important tasks: ï‚· Designing and

Bekijk vacature »

PHP developer - Digital Agency

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

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 »

E-Identity Developer met Projectleider Kwaliteiten

Functieomschrijving Voor de kamer van koophandel zijn we op zoek naar een E-Identity developer met projectleider kwaliteiten. Voor deze opdracht zoekt KVK een Informatieanalist met Technisch Projectleider en ICT developer kwaliteiten, met kennis van E-identity. We zoeken in de breedte en niet specifiek in de diepte qua skillset. Een Junior Projectmanager, een Junior Informatieanalist, een Junior Developer (full stack), een Junior Designer en een Junior ICT architect ineen, met een sterk gevoel van stakeholder management en planning vaardigheden. Door de internationale setting, én de realisatie van ontsluiting van en naar basisregisters toe zijn wij op zoek naar enige ervaring binnen

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

Bekijk vacature »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Front end developer Zorgplatform

Functie Jij als Front end ontwikkelen zult komen te werken samen met 1 PHP ontwikkelaar, 1 Python developer en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De Marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult als Front ender dus voornamelijk bezig zijn met het verbeteren van onze interfaces op onze verschillende producten. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere

Bekijk vacature »

.NET developer

Functie Als junior .NET ontwikkelaar ga jij aan de slag in één van de 5 IT teams van dit bedrijf. Jullie werken op basis van interne klantprojecten aan voornamelijk webapplicaties. Dit betekent dat jij continu uitgedaagd wordt en veelal met verschillende soorten projecten bezig bent. Het gave is dan ook dat jullie als team samen bekijken welke technieken het beste passen bij het project waar jullie verantwoordelijk voor zijn. Zo kan het zijn dat jij als .NET developer gaat werken aan een project, maar dat jullie als team liever gebruik maken van Haskell of F# om de klus te klaren.

Bekijk vacature »
Pong Zor

Pong Zor

12/10/2012 12:42:09
Quote Anchor link
Ik heb de volgende structuur:

pagina_id, hoofdpagina_id, naam, url

Nu wil ik dat bij een bepaalde aanroep b.v. update.php?actie=doenu dat de hele boom doorlopen wordt en de url geupdate wordt

Nu heb ik een functie gemaakt (ben daar niet zo heel goed in, maar die doet het volgende)

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
    function updateSEOURL($parent = 0){
        
        $query = mysql_query("SELECT pagina_id, naam, hoofdpagina_id FROM paginas WHERE hoofdpagina_id = '" . $parent . "'");
        
        while($rij = mysql_fetch_assoc($query)){
        
            $huidig_id = $rij['pagina_id'];
            $hoofdpagina_id = $rij['hoofdpagina_id'];
            
            $has_sub = '';
            $has_sub = mysql_num_rows(mysql_query("SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = '" . $huidig_id . "'"));
            echo 'BOVEN SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = ' . $parent . ' pagina_id ' . $huidig_id . ' naam ' . $rij['naam'] . '<br />';        
            
            if($has_sub){
                updateSEOURL($huidig_id);
                $query_sub = mysql_query("SELECT pagina_id, naam, hoofdpagina_id FROM paginas WHERE hoofdpagina_id = '" . $huidig_id . "'");
                while($rij_sub = mysql_fetch_assoc($query_sub)){                    
                    echo 'ONDER SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = ' . $rij_sub['hoofdpagina_id'] . ' pagina_id ' . $rij_sub['pagina_id'] . ' naam ' . $rij['naam'] . ' subnaam ' . $rij_sub['naam'] . '<br />';
                }
            }

        }        
        
        return $html;
    }


Als ik deze functie aanroep dan krijg ik de volgende ouput:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
BOVEN SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = 0 pagina_id 10 naam home
BOVEN SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = 0 pagina_id 1 naam pagina 1
ONDER SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = 1 pagina_id 2 naam pagina 1 subnaam pagina 2
BOVEN SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = 1 pagina_id 2 naam pagina 2
ONDER SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = 2 pagina_id 3 naam pagina 2 subnaam pagina 3
BOVEN SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = 2 pagina_id 3 naam pagina 3
BOVEN SELECT pagina_id, naam FROM paginas WHERE hoofdpagina_id = 0 pagina_id 4 naam pagina 4


In principe gaat dit redelijk goed behalve dat ik de entrie die onder "ONDER SELECT" staat niet wil uitvoeren, dan wordt namelijk dezelfde pagina weer overschrven.

Hoe kan ik dus een query maken die alle pagina's/ subpagina's sub- sub pagina's/ sub-sub-sub-sub pagina's een update geeft
 
PHP hulp

PHP hulp

27/05/2026 04:54:13
 
Ward van der Put
Moderator

Ward van der Put

12/10/2012 13:10:12
Quote Anchor link
Dit type recursie werkt makkelijker als je omhoog werkt van, bij wijze van spreken, achterkleinkind naar overgrootouder. Je controleert nu of een ouder kinderen heeft; draai dat om en controleer of een kind een ouder heeft. Zijn er geen ouders meer, dan ben je op het hoogste niveau in de hiërarchie en eindigt de recursieve verwerking.
 
Pong Zor

Pong Zor

12/10/2012 13:58:36
Quote Anchor link
Is dat perse nodig?

Ik heb namelijk nu dit:
UPDATE paginas SET seo_url='home' WHERE pagina_id = '10'
UPDATE paginas SET seo_url='pagina 1' WHERE pagina_id = '1'
UPDATE paginas SET seo_url='pagina 1/pagina 2' WHERE pagina_id = '2'
UPDATE paginas SET seo_url='pagina 4' WHERE pagina_id = '4'

Dit is in principe wat ik mis, behalve dat pagina_id = '2' nog een sub pagina heeft en deze krijg ik nu niet.

Ik doe het nu zo
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
        $query = mysql_query("SELECT pagina_id, naam, seo_url, hoofdpagina_id FROM paginas WHERE hoofdpagina_id = '0'");
        
        while($rij = mysql_fetch_assoc($query)){
            
            $query_update = sprintf("UPDATE paginas SET seo_url='%s' WHERE pagina_id = '%s'",
                mysql_real_escape_string(strtolower($rij['naam'])),
                mysql_real_escape_string($rij['pagina_id'])            
            );
            echo $query_update . '<br />';
            
            #sub query
            $query_sub = mysql_query("SELECT pagina_id, naam, seo_url, hoofdpagina_id FROM paginas WHERE hoofdpagina_id = '" . $rij['pagina_id'] . "'");
            while($rij_sub = mysql_fetch_assoc($query_sub)){
                $query_update_sub = sprintf("UPDATE paginas SET seo_url='%s' WHERE pagina_id = '%s'",
                    mysql_real_escape_string(strtolower($rij['naam'] . '/' . $rij_sub['naam'])),
                    mysql_real_escape_string($rij_sub['pagina_id'])            
                );
                echo $query_update_sub . '<br />';                
            }

        }


De sub-sub word nu niet getoond, want ik heb daar geen query voor gemaakt, eigenlijk wil ik dat dit dan netjes in een functie gaat zodat het meteen geupdate wordt en ik dus niet steeds handmatig extra queries moet maken. Hoe kan ik dit in een functie zetten? Dat is eigenlijk mijn doel
 
Ward van der Put
Moderator

Ward van der Put

12/10/2012 14:21:43
Quote Anchor link
Als de SEO-URL's A-1 en A-2 beide kinderen van A zijn, zou je eigenlijk alleen A moeten updaten naar B om van beide B-1 en B-2 te maken. Eén UPDATE-query is dan voldoende. Ook kind A-1-a van A-1 (een kleinkind van A), wordt dan vervolgens vanzelf B-1-a.

Het lijkt er daarom op of je de hiërarchische structuur nog niet perfect genormaliseerd hebt in de database. Kun je de tabel eens posten met toelichting?
 
Pong Zor

Pong Zor

12/10/2012 14:24:30
Quote Anchor link
Volgens mij heb ik nu iets werkbaars:

Dit is de query die over de lijn gaat:
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
        $query = "SELECT pagina_id, naam, seo_url, hoofdpagina_id FROM paginas WHERE hoofdpagina_id = '0'";
        $resultaat_query = mysql_query($query, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());    

        while($rij = mysql_fetch_array($resultaat_query)){
        
            $query_update = sprintf("UPDATE paginas SET seo_url='%s' WHERE pagina_id = '%s'",
                mysql_real_escape_string(strtolower($rij['naam'])),
                mysql_real_escape_string($rij['pagina_id'])            
            );
            echo $query_update . '<br />';
            
            updateSEOURL($rij['pagina_id'], strtolower($rij['naam']));

        }


Dit is de functie:
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
    function updateSEOURL($pagina_id = 0, $naam = ''){
        global $verbindDatabase;

        #sub query
        $query_sub = "SELECT pagina_id, naam, seo_url, hoofdpagina_id FROM paginas WHERE hoofdpagina_id = '" . $pagina_id . "'";
        $resultaat_query_sub = mysql_query($query_sub, $verbindDatabase) or die("A MySQL error has occurred.<br />Your Query: " . $query_sub . "<br /> Error: (" . mysql_errno() . ") " . mysql_error());    
        $aantal_query_sub = mysql_num_rows($resultaat_query_sub);            
        
        if($aantal_query_sub > 0){
            //updateSEOURL($rij_sub['pagina_id'], $rij['naam']);
            
            while($rij_sub = mysql_fetch_array($resultaat_query_sub)){
                $query_update_sub = sprintf("UPDATE paginas SET seo_url='%s' WHERE pagina_id = '%s'",
                    mysql_real_escape_string(strtolower($naam . '/' . $rij_sub['naam'])),
                    mysql_real_escape_string($rij_sub['pagina_id'])            
                );
                echo $query_update_sub . '<br />';

                updateSEOURL($rij_sub['pagina_id'], strtolower($naam . '/' . $rij_sub['naam']));
                
            }                
            
        }
        
    }


En dit is de output:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
UPDATE paginas SET seo_url='home' WHERE pagina_id = '10'
UPDATE paginas SET seo_url='pagina 1' WHERE pagina_id = '1'
UPDATE paginas SET seo_url='pagina 1/pagina 2' WHERE pagina_id = '2'
UPDATE paginas SET seo_url='pagina 1/pagina 2/pagina 3' WHERE pagina_id = '3'
UPDATE paginas SET seo_url='pagina 4' WHERE pagina_id = '4'


Pagina 1 = hoofdpagina
Pagina 2 = subpagina van pagina 1
Pagina 3 = subpagina van pagina 2

Volgens mij klopt dit zo wel?

Let even niet op dat strtolower voor de seo url, daar ga ik nog iets mee doen, speciale tekens eruit, spaties vervangen door - etc.

Dit is de bijbehorende database:
Afbeelding
Gewijzigd op 12/10/2012 14:26:36 door Pong Zor
 
Ward van der Put
Moderator

Ward van der Put

12/10/2012 14:32:31
Quote Anchor link
Dit is de fout:

SET seo_url='pagina 1/pagina 2/pagina 3' WHERE pagina_id = '3'

De string 'pagina 1/pagina 2/' wordt namelijk bepaald door de bovenliggende pagina's met pagina-id 1 en 2, niet door pagina 3 zelf. Je probeert nu al zoekend overal het gedeelte 'pagina 2/' te vervangen, maar dat kan met één update van pagina 2 zelf.
 
Pong Zor

Pong Zor

12/10/2012 14:33:46
Quote Anchor link
Maar hoe moet ik het dan doen? Ik ben je nu even kwijtgeraakt denk ik, want die url is juist wel de URL die ik wil hebben
 
Ward van der Put
Moderator

Ward van der Put

12/10/2012 14:47:32
Quote Anchor link
Laten we uitgaan van deze vijf SEO-URL's:

1 http://www.example.com/fruit/
2 http://www.example.com/fruit/appelen/
3 http://www.example.com/fruit/appelen/elstar.html
4 http://www.example.com/fruit/appelen/golden-delicious.html
5 http://www.example.com/fruit/appelen/jonagold.html

Als je nu /appelen/ wilt vervangen door /appels/, zou dat één UPDATE moeten zijn van de pagina 2. Alle pagina's lager in het pad (hier 3 t/m 5) overerven dan de wijziging:

1 http://www.example.com/fruit/
2 http://www.example.com/fruit/appels/
3 http://www.example.com/fruit/appels/elstar.html
4 http://www.example.com/fruit/appels/golden-delicious.html
5 http://www.example.com/fruit/appels/jonagold.html

Je slaat hiervoor niet de volledige SEO-URL per pagina op, maar alleen het gedeelte dat per pagina uniek uniek is. Dat je nu meerdere query's moet uitvoeren, is een teken dat je database herhaalde en redundante data bevat. Normaliseren dus.
Gewijzigd op 12/10/2012 14:49:15 door Ward van der Put
 
Pong Zor

Pong Zor

12/10/2012 14:49:34
Quote Anchor link
Ward, oke dat is me duidelijk, maar goed ga je dat dan doen? Ga je dan 20 velden met seo_urls maken? Om te kijken of er eventueel een url aanwezig is?

Toevoeging op 12/10/2012 14:52:55:

In principe zou ik pagina 3 gewoon seo url pagina-3 kunnen laten hebben en dan vervolgens met een query de url opbouwen

b.v. SELECT seo_url FROM paginas WHERE hoofdpagina='0' en dan het hele riedeltje door gaan. Dan kom ik op het volgende punt mijn .htaccess

RewriteRule ^([0-9]+)/(.*)/$ index.php?pagina_id=$1&seo_url=$2

Die pakt het ID van de pagina en de bijbehorende SEO URL op. In dat geval zou het b.v. /3/pagina-3 worden. Dan mis ik dus pagina-1/pagina-2/pagina-3
 
Ward van der Put
Moderator

Ward van der Put

12/10/2012 14:57:13
Quote Anchor link
Voor de recursie hoef je per pagina alléén te weten wat de bovenliggende pagina is. Bijvoorbeeld de elstar.html rubriceer je onder appels, niet een niveau hoger onder fruit en (bewijs) al helemaal niet onder het hoogste niveau home. In je database zou hoofdpagina_id niet moeten verwijzen naar het hoogste niveau, maar naar het bovenliggende niveau: het is meer een ouder_id of parent_id.
 
Pong Zor

Pong Zor

12/10/2012 14:59:02
Quote Anchor link
Ward, maar dat gebeurd ook.

Pagina 3 verwijst naar bovenliggende pagina 2.
Pagina 2 verwijst naar bovenliggende pagina 1.

Hoofdpagina met een id van 0 geeft aan dat het hier om het hoogste niveau gaat.
 
Kris Peeters

Kris Peeters

12/10/2012 15:02:53
Quote Anchor link
Als je echt een oplossing wil ...
Zie: http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

Een manier om met mySQL gegevens in een hierarchie te steken; in een boomstructuur, zo breed, diep en genest als je wil.

Het geeft je een set uitgewerkte query's waarmee je een hele tak kan aanspreken; een tak kan verwijderen, een hele tak kan verplaatsen naar een andere tak, ...
Alles wat relevant is voor een boomstructuur.

Maar laat me wel even waarschuwen dat je wat tijd en oefening nodig hebt om dit onder de knie te krijgen. De kans is vrij reëel dat het de moeite niet waard is, als je al met een bestaande toestand zit.
 
Ward van der Put
Moderator

Ward van der Put

12/10/2012 15:07:33
Quote Anchor link
Klopt, maar dat is nu juist het voordeel. Je hoeft niet meer te weten dan: dit is elstar.html. Daarna kun je uit de ouder_id in de database afleiden dat deze pagina onder /appels/elstar.html staat. Vervolgens weet je via de ouder /appels/ dat de grootouder het deel /fruit/ in het complete pad /fruit/appels/elstar.html moet zijn.
 
Pong Zor

Pong Zor

12/10/2012 15:09:51
Quote Anchor link
Ward, dat kan ik wel voor elkaar krijgen dat is niet zo moeilijk, maar dan snappen mijn htaccess skills het niet meer

Want die krijgt dan in de browser deze url terug:
domein.nl/3/pagina1/pagina2/pagina3

maar vervolgens is de url dan:
domein.nl/index.php?pagina_id=3&seo_url=pagina3

Dit komt niet meer overeen en dus krijg ik een foutmelding:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
        $query_pagina = sprintf("SELECT * FROM paginas WHERE pagina_id='%s' AND seo_url='%s'",
            mysql_real_escape_string($_GET['pagina_id']),
            mysql_real_escape_string($_GET['seo_url'])
        );
 



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.