[php] Dynamisch nxn multidim array

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey mensen,

Ik probeer, ter lering en vermaak, vanuit een database een sitemap te genereren.
Wat ik uit mijn database haal is een veld met 'pad' informatie.

Stel een pagina is aangemaakt in Hoofd->Persoonlijk->Over Mij->Hobbies
dan wordt dat opgeslagen als
code:
1
hoofd,persoonlijk,over_mij,hobbies


Wat is wil is een sitemap maken waarvan ik niet weet hoe diep de navigatie gaat en hoeveel hoofdonderwerpen er zijn.

Ik had bedacht dat ik een multi dimensionale array kan maken waarin het volgende element wordt gebruikt:
code:
1
$element = array( "naam" => NULL, "link" => NULL, "dieper" => array() );

Dat element zou je dan in een array kunnen plaatsen en het element kun je ook weer aan het eind van zichzelf plaatsen om zo een niveau dieper te gaan.

Hoop dat dit overkomt haha.

Het probleem wat ik nu heb ik dat ik niet 'relatief' door de array kan wandelen. In C zou ik steeds een pointer maken naar de laatste array en zo steeds dieper gaan tot ik het einde van het 'pad' heb bereikt. Met *ptr = content; zou je dan alsnog in het hoofdgeheugen schrijven.

Iemand een idee hoe dat werkt in PHP? Relatief door een array wandelen ipv absoluut?

Vast bedankt!

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Waarom sla je comma-seperated waarden op in je database ipv. dat je de boel normaliseert? Heb je naar mijn idee ook dit probleem meteen niet meer omdat je het met queries kunt oplossen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Als dat een oplossing is, ook goed, liever queries ipv moeilijke regels php code. Wat bedoel je precies met normaliseren?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:47

Creepy

Tactical Espionage Splatterer

Nebula: jaag voor de gein het woordje normaliseren eens door google heen ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hmpf, right you are ;-)
/me is reading

Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 14:53

MueR

Admin Tweakers Discord

is niet lief

array_walk_recursive: indien je een functie wil toepassen op elk element.
Anders zul je een functie moeten maken die zichzelf aanroept met de child arrays.

Anyone who gets in between me and my morning coffee should be insecure.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het normaliseren van een database schijnt voor veel mensen taaie materie te zijn.
Juist, maar ik denk dat ik weet wat je bedoelt. Die inschuiving heb ik ook getracht te oden, zo goed als ik kan.
Het probleem dat zich voordoet, echter, is dat ik niet van te voren het aantal onderwerpen en sub rbrieken vast wil leggen. Toch wil ik die informatie opslaan. Waar ik aan had zitten denken is dat je alleen het de 'parent' van een bericht opslaat, omdat ik geen rubrieken wil met enkele inhoud.

Op die manier sla ik geen redundante info op en weet ik toch waar alles vandaan komt :)

Ik heb dan alleen nog steeds geen idee hoe ik hier een sitemap uithaal, Cartman! schijnt hier een idee van te hebben?

Ik zit er al een paar dagen op te broeden, maar het wordt allemaal onnodig complex naar mijn gevoel.

Iig vast bedankt voor de term Normaliseren, dat stappenplan ga ik zeker gebruiken bij het uiteindelijke database ontwerp!

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
http://crisp.tweakblogs.n...using-only-one-query.html

Menu, sitemap... what's the difference? :)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Je kunt toch een recursieve functie maken om door je array heen te lopen?

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Wat RobIII zegt dus ;)

Michali -> dat kan wel, maar dan slaat ie de waarden dus niet op zoals dat eigenlijk hoort...is meer een workaround en das zonde.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hm, haha thnx RobIII. Dat is inderdaad een oplossing, ik ben nog niet erg bedreven in het schrijven van goede query's, zo blijkt maar weer. Ervan uitgaande dat parents voor childeren komen (vaak wel ;) ) en daarmee dus een lagere id hebben, gaat dit altijd werken. Super!
Pagina: 1