hab mal wieder ein kleines organisatorisches prob
und zwar habe ich einige hundert links in einer tabelle als datenquelle.
ich erklär mal die folgende funktion die ich zum ausgeben der links verwende...
$id -> sieht man ja, brauch ich für WHERE zum vergleichen
$order -> übergeben werden entweder 'ASC' oder 'DESC'
$offset -> brauch ich für die navigation. es werden immer nur 10 einträge in 10'er schritten ausgegeben.
mein problem: ändert der benutzer die reihenfolge von ASC auf DESC, werden 10 links beginnend vom untersten
nach oben gesetzt. ich möchte das aber eigentlich anders haben und finde keine lösung
so sollte es sein:
10 von 100 links werden ausgespuckt, reihenfolge ist ASC
link1
link2
: :
link9
link10
benutzer ändert reihenfolge auf desc (script wird neu geladen, die entsprechende $_GET variable enthält jetzt den wert DESC)
ausgabe sieht so aus:
link10
link9
: :
link2
link1
im moment passiert aber folgendes:
link100
link99
: :
link91
link90
=(
gibt's da noch einen trick?? ideal wäre es ja wenn ich LIMIT mit ORDER vertauschen könnte, also erst die auswahl limitieren und dann sortieren, da meckert mysql aber
und zwar habe ich einige hundert links in einer tabelle als datenquelle.
ich erklär mal die folgende funktion die ich zum ausgeben der links verwende...
PHP-Code:
function linksByID($id, $order, $offset)
{
...
$query = 'SELECT xxx, yyy
FROM aaa WHERE links_sub = ' . $id .
' ORDER BY xxx ' . $order .
' LIMIT ' . $offset . ',10';
...
}
$order -> übergeben werden entweder 'ASC' oder 'DESC'
$offset -> brauch ich für die navigation. es werden immer nur 10 einträge in 10'er schritten ausgegeben.
mein problem: ändert der benutzer die reihenfolge von ASC auf DESC, werden 10 links beginnend vom untersten
nach oben gesetzt. ich möchte das aber eigentlich anders haben und finde keine lösung
so sollte es sein:
10 von 100 links werden ausgespuckt, reihenfolge ist ASC
link1
link2
: :
link9
link10
benutzer ändert reihenfolge auf desc (script wird neu geladen, die entsprechende $_GET variable enthält jetzt den wert DESC)
ausgabe sieht so aus:
link10
link9
: :
link2
link1
im moment passiert aber folgendes:
link100
link99
: :
link91
link90
=(
gibt's da noch einen trick?? ideal wäre es ja wenn ich LIMIT mit ORDER vertauschen könnte, also erst die auswahl limitieren und dann sortieren, da meckert mysql aber
Kommentar