[PHP] komma gescheide vergelijken

Pagina: 1
Acties:
  • 41 views sinds 30-01-2008

  • Compusmurf
  • Registratie: Oktober 2003
  • Laatst online: 16-08-2024
Ik heb een menu gemaakt dat wordt gegenereerd uit een database, deze mag max 2 niveau's hebben dus ik heb de volgende table gemaakt.

code:
1
2
3
Menuid
Hoofditems
Subitems

In subitems staat een door komma's gescheide waarde. BV item1,item2,item3. Dit kan worden aangepast. Dit is verder ook niet zo moeilijk maar nu wil ik er ook achter kunnen komen welke waarden zijn veranderd/verwijderd. Dit ivm andere rijen in een andere tabel die aangepast moeten worden.

Ik dacht eerst gewoon uitlezen en vergelijken, maar dan loop ik tegen het probleem op dat als er wat verwijderd wordt hij items in de array met de verkeerde vergelijkt. BV

origineel
item1,item2,item3

gewijzigd
item2, item3

De code zou dan aangeven dat nummer 1 en 2 gewijzigd waren. Echter hoe kan ik nu het beste kijken wat er gewijzigd is.

http://Compusmurf.xs4all.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 21:01
Waarom sla je waardes op in een DB die gescheiden zijn door komma's ?

Waarom niet de boel gewoon normaliseren, zoals het hoort ?

https://fgheysels.github.io/


Verwijderd

Terug naar de tekentafel, normaliseren en een nieuw database model maken.

Waarden met komma's, puntkomma's enzo scheiden doe je niet in een database.

  • EdwinV
  • Registratie: Januari 2004
  • Laatst online: 30-10-2025
De code zou dan aangeven dat nummer 1 en 2 gewijzigd waren.
Welke code?
In subitems staat een door komma's gescheide waarde.
Dat is nooit nodig als je een goede data structuur hebt. Waarom werk je niet met een parent_id?

  • Compusmurf
  • Registratie: Oktober 2003
  • Laatst online: 16-08-2024
whoami schreef op dinsdag 15 augustus 2006 @ 21:11:
Waarom sla je waardes op in een DB die gescheiden zijn door komma's ?

Waarom niet de boel gewoon normaliseren, zoals het hoort ?
Het moest snel gemaakt worden maar het blijkt wel dat snel niet altijd de beste manier is. Ik had al zo'n vermoeden dat ik terug naar de tekentafel moest.

Iemand misschien nog wel een workaround, anders ga ik redesignen.

http://Compusmurf.xs4all.nl


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 12-02 13:44
Ga maar redesignen. Je komt steeds meer vervelende zaken tegen zo!

  • whoami
  • Registratie: December 2000
  • Laatst online: 21:01
En ik denk dat daarmee wel alles gezegd is. :)

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.