lulu: MySQL: Workaround für NEXT und PREVIOUS gesucht

Beitrag lesen

Huhu Tom

Ich suche die beste Lösung für  Next und Previous

naja die beste ist es vielleicht nicht aber sie funktioniert
immerhin ein klein wenig.

Ein Performance-Wunder ist es wahrscheinlich auch nicht da immer alle IDs der Datensätze eingelesen werden müssen.

Die User-function "get_records" ist für den SELECT-query mit der entsprechenden Sortierung zuständig.

Dann werden alle IDs in ein Array eingelesen und der Index der aktuellen ID "gemerkt".
Dann einfach das nächste Array-Element zurückliefern.

Previous dann entsprechend.

function get_next_record_id($is_id)
{
 global $data_table;
        $c=0;
 $arr_id=array();
 $result = get_records($data_table);
        while($row=mysql_fetch_array($result,MYSQL_ASSOC)){
                $arr_id[]=$row['id'];
                if($is_id==$row['id']) $is_row=$c;
                $c++;
        }
        if($c==1) return $is_id;         # nur ein Datensatz vorhanden!
        if($c==($is_row+1)) return $arr_id[0];    # Vom Ende der Liste zum Anfang
        return $arr_id[$is_row+1];        # ID des nächsten Datensatzes
}

Viele Grüße

lulu