/ 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
omvendt rækkefølge på mySQL resultat
Fra : Thomas G


Dato : 17-04-05 18:09

hey.

hvordan får jeg vendt rækkefølgen om på

$sql = "SELECT * FROM tabel";

while($resultat = mysql_fetch_array($sql)){
exp...
}

så det er det sidst tilføjede til databasen der først kommer ud?

Mvh. Thomas



 
 
Thomas Lindgaard (17-04-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 17-04-05 18:18

On Sun, 17 Apr 2005 19:09:16 +0200, Thomas G wrote:

> hvordan får jeg vendt rækkefølgen om på
>
> $sql = "SELECT * FROM tabel";
>
> while($resultat = mysql_fetch_array($sql)){
> exp...
> }
>
> så det er det sidst tilføjede til databasen der først kommer ud?

Du tilføjer

ORDER BY <det som bestemmer rækkefølgen> DESC

til din sql (DESC betyder descending - måske skal du bruge ASC for
ascending)...

--
Mvh.
/Thomas


Thomas Lindgaard (17-04-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 17-04-05 18:19

On Sun, 17 Apr 2005 19:17:53 +0200, Thomas Lindgaard wrote:

> (DESC betyder descending - måske skal du bruge ASC for
> ascending)

DESC må være det rigtige - jeg er lidt sløv... jeg har skovlet sten
hele dagen...

--
Mvh.
/Thomas


Peter Brodersen (17-04-2005)
Kommentar
Fra : Peter Brodersen


Dato : 17-04-05 18:18

On Sun, 17 Apr 2005 19:09:16 +0200, "Thomas G"
<alt-mail@FJERNtunet.dk> wrote:

>hvordan får jeg vendt rækkefølgen om på
>
>$sql = "SELECT * FROM tabel";

Du bliver nødt til at sortere efter et felt. Selv uden en sortering er
du ikke garanteret, at rækkerne bliver vist i samme rækkefølge, som de
er indsat (men vil sandsynligvis gøre det, indtil du begynder at pille
i tabellen).

Hvis du har et id-felt eller et dato-felt eller lignende, kan du
sortere efter det. For eksempel (forudsat at du har et felt ved navn
id, som indeholder stigende værdier):

$sql = "SELECT * FROM tabel ORDER BY id DESC";

Dit spørgsmål omhandler nu ikke php, men er et rent
database-spørgsmål. Nyhedsgruppen dk.edb.database kan anbefales til
det formål.

--
- Peter Brodersen

Thomas G (17-04-2005)
Kommentar
Fra : Thomas G


Dato : 17-04-05 21:41

> Du bliver nødt til at sortere efter et felt. Selv uden en sortering er
> du ikke garanteret, at rækkerne bliver vist i samme rækkefølge, som de
> er indsat (men vil sandsynligvis gøre det, indtil du begynder at pille
> i tabellen).
>
> Hvis du har et id-felt eller et dato-felt eller lignende, kan du
> sortere efter det. For eksempel (forudsat at du har et felt ved navn
> id, som indeholder stigende værdier):
>
> $sql = "SELECT * FROM tabel ORDER BY id DESC";

ja det virkede fint.. men der hvor men forespørgsel så ser sådan her ud:

$sql = "SELECT * FROM tabelnavn WHERE id='idnr'";

den kommer med en fejl hvis jeg bare sætter ORDER BY index DESC ind (den
skal sorteres efter index som har auto_increment - bare i omvendt
rækkefølge)

hvad skal jeg så gøre?

> Dit spørgsmål omhandler nu ikke php, men er et rent
> database-spørgsmål. Nyhedsgruppen dk.edb.database kan anbefales til
> det formål.

okay. der vil jeg spørge næste gang.. men nu kunne i jo gi mig fin hjælp med
forrige spg så håber oss i kan hjælpe med det her.. eller skal jeg nok daffe
over i dk.edb.database.

Mvh. Thomas



Thomas Lindgaard (17-04-2005)
Kommentar
Fra : Thomas Lindgaard


Dato : 17-04-05 22:04

On Sun, 17 Apr 2005 22:41:19 +0200, Thomas G wrote:

> ja det virkede fint.. men der hvor men forespørgsel så ser sådan her ud:
>
> $sql = "SELECT * FROM tabelnavn WHERE id='idnr'";
>
> den kommer med en fejl hvis jeg bare sætter ORDER BY index DESC ind (den
> skal sorteres efter index som har auto_increment - bare i omvendt
> rækkefølge)
>
> hvad skal jeg så gøre?

Det ville være nemmere at svare på, hvis du oplyste, hvilken fejl, du
får... ;)

--
Mvh.
/Thomas


Peter Brodersen (17-04-2005)
Kommentar
Fra : Peter Brodersen


Dato : 17-04-05 22:09

On Sun, 17 Apr 2005 22:41:19 +0200, "Thomas G"
<alt-mail@FJERNtunet.dk> wrote:

>> $sql = "SELECT * FROM tabel ORDER BY id DESC";
>ja det virkede fint.. men der hvor men forespørgsel så ser sådan her ud:
>
>$sql = "SELECT * FROM tabelnavn WHERE id='idnr'";
>
>den kommer med en fejl hvis jeg bare sætter ORDER BY index DESC ind (den
>skal sorteres efter index som har auto_increment - bare i omvendt
>rækkefølge)

Hvis du får en fejlmeddelelse, må du hellere end gerne poste den
præcise fejlmeddelelse - ellers risikerer vi at gætte i blinde

Men hedder det felt, du skal sortere efter, virkelig "index"? Det er
et reserveret ord i MySQL, men hvis feltet hedder det, kan du
stadigvæk referere til det ved at angive navnet som `index` i stedet
for blot index. For eksempel:

$sql="SELECT * FROM tabelnavn WHERE id='idnr' ORDER BY `index` DESC";

Tjek evt. også:
http://php-faq.dk/index.php/Hvorfor_f%E5r_jeg_%22Warning:_supplied_argument_is_not_a_valid_MySQL_result_resource%22

>okay. der vil jeg spørge næste gang.. men nu kunne i jo gi mig fin hjælp med
>forrige spg så håber oss i kan hjælpe med det her.. eller skal jeg nok daffe
>over i dk.edb.database.

Det kan anbefales

--
- Peter Brodersen

Thomas G (17-04-2005)
Kommentar
Fra : Thomas G


Dato : 17-04-05 22:44

> Hvis du får en fejlmeddelelse, må du hellere end gerne poste den
> præcise fejlmeddelelse - ellers risikerer vi at gætte i blinde

ja det burde jeg jo have gjort.. sorry.

> Men hedder det felt, du skal sortere efter, virkelig "index"? Det er
> et reserveret ord i MySQL, men hvis feltet hedder det, kan du
> stadigvæk referere til det ved at angive navnet som `index` i stedet
> for blot index. For eksempel:
>
> $sql="SELECT * FROM tabelnavn WHERE id='idnr' ORDER BY `index` DESC";

Jeps det var det ser skulle til en par ``'er..

tak for hjælpen.

Mvh. Thomas



Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408527
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste