Automatisch meerdere records aanpassen

Status
Niet open voor verdere reacties.

ErikBooy007

Terugkerende gebruiker
Lid geworden
24 mei 2007
Berichten
3.814
Ik ben weer met een CMS bezig voor iemand en nu zit ik met het volgende probleempje:

Ik heb een tabel (in een MySQL-database) die er als volgt uitziet:

tabeljk0.png


Toelichting: 'id' spreekt voor zich, 'order' geeft de volgorde aan waarin de items worden weergegeven, 'name' is de weergegeven naam en 'parent' is het menu-item, waar dit sub-menu-item bij hoort.

Wat ik nu graag zou willen, is dat als men een pagina toevoegt, en daaraan bijv. 'order' = 2 meegeeft, dat alles dat die order of hoger heeft 1 ophoogt. In dit geval, zou PRODUCTEN dan dus 3 krijgen en ABOUT 4.

Ik hoop dat jullie hier een oplossing voor hebben, mocht dit nou echt niet mogelijk zijn, hebben jullie dan misschien nog ideeën hoe ik mijn tabel kan herconstrueren om dit wel te bereiken?
 
Je kunt in plaats van 1,2,3 enz te gebruiken ook 10, 20, 30 enz nemen.
Als je ORDER BY 'order' ASC gebruikt krijg je hetzelfde resultaat.

Wil je nu er iets tussen plaatsen dan geef je 25 op.

Ik hoop dat je het kan gebruiken, laat het anders maar even weten,

Groeten, :thumb:
Fred
 
Iets als dit:
PHP:
UPDATE `tabel` SET `order` = `order` + 1 WHERE `order` >= '2'
 
@Fred4Gille, dat zou op zich wel kunnen, maar dan ben je toch gauw uitgeteld, want als je dat 5 keer zou doen, zou zich al een probleem voor kunnen doen... Maar toch goed meegedacht!

@aajeetee, pas je dan niet maar 1 record aan? Ik zal het wel even proberen.

Dank!
 
@Fred4Gille, dat zou op zich wel kunnen, maar dan ben je toch gauw uitgeteld, want als je dat 5 keer zou doen, zou zich al een probleem voor kunnen doen... Maar toch goed meegedacht!

@aajeetee, pas je dan niet maar 1 record aan? Ik zal het wel even proberen.

Dank!

Nee, MySQL zal elk record doorlopen waarbij "order" >= '2'. Dus in jouw geval zullen er 2 records aangepast worden :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan