/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Gensortering
Fra : David Trasbo


Dato : 19-10-07 07:53

Jeg har en MySQL-database med en tabel, som indeholder nogle "elementer".
Hvert element har et sorteringsnummer. Altså nummer 1, 2, 3 osv.

Men jeg ønsker at finde en hurtig måde at kunne bytte om på elementerne, så
de får det rigtige sorteringsnummer.

Så hvis jeg f.eks. rykker nummer 3 op som den første, så sorteringsnumrene
ser således ud...

3
1
2

.... at nummeret automatisk bliver rettet så element nummer 3 bliver til
nummer 1:

1 (tidligere 3)
2 (tidligere 1)
3 (tidligere 2)

Nogle ideer til hvordan det kan gøres med PHP?

--
David Trasbo.



 
 
Johan Holst Nielsen (19-10-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 19-10-07 09:39

David Trasbo wrote:
> Så hvis jeg f.eks. rykker nummer 3 op som den første, så sorteringsnumrene
> ser således ud...
>
> 3
> 1
> 2
>
> ... at nummeret automatisk bliver rettet så element nummer 3 bliver til
> nummer 1:
>
> 1 (tidligere 3)
> 2 (tidligere 1)
> 3 (tidligere 2)
>
> Nogle ideer til hvordan det kan gøres med PHP?

Det er mere et database spørgsmål...

Men noget ala følgende burde virke...

$sql = "UPDATE tabel SET sortering = sortering+1 WHERE sortering < 3";
....
$sql = "UPDATE tabel SET sortering = 1 WHERE sortering = 3";
....

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Peter Brodersen (19-10-2007)
Kommentar
Fra : Peter Brodersen


Dato : 19-10-07 14:55

On Fri, 19 Oct 2007 10:39:27 +0200, Johan Holst Nielsen
<spam@phpgeek.dk> wrote:

>$sql = "UPDATE tabel SET sortering = sortering+1 WHERE sortering < 3";
>...
>$sql = "UPDATE tabel SET sortering = 1 WHERE sortering = 3";

Bortset fra, at nr. 2 efter den første forespørgsel vil være lig 3 -
og så er der to nr. 3, som efterfølgende bliver sat til 1.

--
- Peter Brodersen
Kendt fra Internet

Johan Holst Nielsen (19-10-2007)
Kommentar
Fra : Johan Holst Nielsen


Dato : 19-10-07 15:15

Peter Brodersen wrote:
> On Fri, 19 Oct 2007 10:39:27 +0200, Johan Holst Nielsen
> <spam@phpgeek.dk> wrote:
>
>> $sql = "UPDATE tabel SET sortering = sortering+1 WHERE sortering < 3";
>> ...
>> $sql = "UPDATE tabel SET sortering = 1 WHERE sortering = 3";
>
> Bortset fra, at nr. 2 efter den første forespørgsel vil være lig 3 -
> og så er der to nr. 3, som efterfølgende bliver sat til 1.

Sorry - ja...

Selvfølgelig skal WHERE sortering = 3 være WHERE nøgle = identifikation

--
Johan Holst Nielsen
Freelance PHP Developer - http://phpgeek.dk

Michael Rasmussen (19-10-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 19-10-07 15:05

On Fri, 19 Oct 2007 15:54:48 +0200
Peter Brodersen <usenet2007@ter.dk> wrote:

>
> Bortset fra, at nr. 2 efter den første forespørgsel vil være lig 3 -
> og så er der to nr. 3, som efterfølgende bliver sat til 1.
>
Og endnu være: Hvis sortering er primær nøgle eller har tilknyttet et
index, vil første update producere en fejl. Den oplysning mangler vi.

--
Hilsen/Regards
Michael Rasmussen
http://keyserver.veridis.com:11371/pks/lookup?op=get&search=0xE3E80917
A computer is like air conditioning: it becomes useless when you open
windows.

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408195
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste