webForumDet fria alternativet

Läsa tabell baklänges

PHPur PHP

7 svar · 301 visningar · startad av nitro2k01

Medlem sedan aug. 20039 342 inlägg
Frågan#1

Hej, jag har följande kod för att läsa alla värden ur en tabell:

while ($array = mysql_fetch_assoc($result)) {
...
}

Men hur gör jag för att läsa tabellen baklänges? Alltså så att de sista värdena i den läses först.

Medlem sedan juni 200032 969 inlägg
#2

Fel svar på frågan kanske, men kan du inte sortera baklänges direkt i SQL-frågan istället? :)

Medlem sedan dec. 1999757 inlägg
#3

Det blir ju mest optimalt och går det inte av någon anledning finns ju alltid array_reverse() att tillgå.

Medlem sedan aug. 20039 342 inlägg
#4

SQl-frågan ser ut som följer:

$result = mysql_query('SELECT * FROM gb2');

Förslag på hur man vänder på den?

Och är $result verkligen en vanlig vektor? Varför ska man då använda mysql_fetch_assoc?

Medlem sedan nov. 2002302 inlägg
#5

Vad har du för fält i tabellen? Om du har ett id-fält så kan du lägga till:

ORDER BY `id` DESC

eller

ORDER BY `id` ASC

till php-frågan beroende på hur du vill ha den sorterad.

Medlem sedan aug. 20039 342 inlägg
#6

Där satt den!

Medlem sedan mars 20025 907 inlägg
#7

Ett id är väl visserligen inte optimalt att sortera efter (det händer ju att ID'n inte kommer i ordning). Ett eventuellt datumfält är bättre. :)

Medlem sedan aug. 20039 342 inlägg
#8

När skulle ID'n inte komma i ordning? Detta är enkel tabell, där ingenting tas bort eller ändras när det väl kommit dit. Dessutom finns inget datumfält i denna tabell.

Likväl ska jag komma ihåg det där med datumfält.

127 ms totalt · 3 externa anrop · v20260731065814-full.02a0f7de
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)