Avatar billede Fiber Bjørn Juniormester
16. maj 2016 - 23:00 Der er 2 kommentarer

Indset ny row hvor id exisitere

Galleri vises efter "vis_efter" og ikke efter id som i overskriften. Det var for forstå indlægget bedre....

TABEL = galleri

ROW vises efter "vis_efter"
ID=1 Title="1 galleri" vis_efter="1"
ID=3 Title="3 galleri" vis_efter="2"
ID=4 Title="4 galleri" vis_efter="3"
ID=2 Title="2 galleri" vis_efter="4"

hvis jeg så gerne vil indsætte et nyt indlæg som nr. 2 så det ser sådan ud

ID=1 Title="1 galleri" vis_efter="1"
ID=5 Title="5 galleri" vis_efter="2"
ID=3 Title="3 galleri" vis_efter="3"
ID=4 Title="4 galleri" vis_efter="4"
ID=2 Title="2 galleri" vis_efter="5"

Er der en let MySqli måde at gøre det på???
Avatar billede jakobdo Ekspert
16. maj 2016 - 23:25 #1
Jeg ved ikke om mysql eller mysqli kan lave dette kode direkte.
Men ellers ville en løsning jo være at loope alle rækker, tælle sammen og beregne "vis_efter" i noget kode.
Avatar billede arne_v Ekspert
29. maj 2016 - 02:39 #2
Maaske:

UPDATE galleri SET vis_efter = vis_efter+1 WHERE vis_efter>=2
INSERT INTO galleri (title,vis_efter) VALUES('5 galleri',2)

Men hvis det her skal fungere i en flerbruger sammenhaeng, saa brug:
* InnoDB tabeller ikke MyISAM tabeller
* transaction isolation level serializable
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester