Frage : Wie erhalte ich die folgende und vorhergehende Aufzeichnung von einer Zielaufzeichnung in einem Satz Aufzeichnungen?

Gut habe ich eine inbox Schnittstelle, die meine Benutzer ihre Mitteilungen lesen lässt. Das inbox paginiert durch SQL-BEGRENZUNG und VERSATZ…. der VERSATZ berechnet durch die Aufzeichnungen, die recht Zeiten der Seitenzahl saught ..... Standard angezeigt.

So ein Benutzer klickt an eine bestimmte Mitteilung, und ich habe vorhergehendes | Folgende Navigation, damit Benutzer bewegt durch seine Mitteilungen…. was ich benötige, ist eine Weise, damit ich nur das vorhergehende conversation_id der vorhergehenden und folgenden Aufzeichnung von DIESER Aufzeichnung ergreife. Und wenn sie so geschieht, dass DIESE Aufzeichnung die erste Mitteilung im inbox ist, dann die vorhergehende Mitteilung muss die letzte Mitteilung im inbox dann sein. Die selben, wenn DIESE Mitteilung ist, dauern, der folgende Knopf muss zur ersten Mitteilung im inbox.

rollen, im Augenblick, das ich habe:

$sql_2 = „AUSERWÄHLTES conversation_id vom app_get_account_inbox_funk („“. $this->account_id. „"); „;

and vom PHP ergreife ich das vorhergehende und das folgend abhängig von, wo DIESES conversation_id in der zurückgehenden Reihe gefunden. Dieses ist okay, aber ich kann vorstellen dass, sobald Benutzer 1000 hat oder mehr Mitteilungen in seinem inbox dieses definitiv die page.

Any Ideen verlangsamt? Auch ich benutze postgres. Thanks.

Antwort : Wie erhalte ich die folgende und vorhergehende Aufzeichnung von einer Zielaufzeichnung in einem Satz Aufzeichnungen?

Annehmen, dass die Ids im Sequenzversuch using dieses querys sind

- ZUNÄCHST
$sql = „* vom app_get_account_inbox_funk in dem account_id= vorwählen“. $this->account_id.“ UND conversation_id> ". $this->conversartion_id. „Auftrag durch BEGRENZUNG 1 Conversation_idASC“;
- VORHERGEHEND
$sql = „* vom app_get_account_inbox_funk in dem account_id= vorwählen“. $this->account_id.“ UND<> conversation_idconversartion_id. „Auftrag durch BEGRENZUNG 1 Conversation_iddesc“;
Und im Falle des Letzten/zuerst der Mitteilung
- LETZT
$sql = „* vom app_get_account_inbox_funk in dem account_id= vorwählen“. $this->account_id.“ Auftrag durch BEGRENZUNG 1 Conversation_iddesc ";
- ZUERST
$sql = „* vom app_get_account_inbox_funk in dem account_id= vorwählen“. $this->account_id.“ Auftrag durch BEGRENZUNG 1 Conversation_idASC ";
Weitere Lösungen  
 
programming4us programming4us