2012-04-05 20 views
0

Ich habe Paginierung mit PHP und jQuery für Thema + Eintrag ProjektPHP/jQuery Paginierung Siehe System-

sagen wir ein Thema fünf Seiten. Ich habe ein Verweissystem erstellt, wenn mein Benutzer "@ 5" in den zehnten Beitrag schreibt und ein anderer Benutzer auf @ 5 klickt, Seitenfolie bis zum 5. Kommentar. Aber ich weiß nicht, wie ich mich beziehe, wenn der Benutzer im 20. Post "@ 5" schreibt. Seite kann nicht finden, dass Div, weil 5. Post ist auf der ersten Seite, und meine Seitenumbruch pro Seite ist 15 und ich habe 5 Seiten.

Was soll ich tun? Vielleicht kann ich fünften Beitrag auf der ersten Seite berechnen und eine Kette Ereignisse in jQuery machen: auf die erste Seite gehen und auf den fünften Post usw. schieben. Ich weiß nicht, dass das ist.

+0

„i“ ist * immer * großgeschrieben, wenn es um dich selbst geht.Dies ist eine der einfachsten Regeln in Englisch und es dauert eine lange Zeit Wege, um Ihre Beiträge lesbarer zu machen. – meagar

+0

Nun, ich habe jedes "i" geschrieben, das auf mich selbst als Großbuchstaben bezieht, oder bin ich falsch O_o –

+0

Nein, ich habe Ihren Beitrag bearbeitet, um alle Rechtschreibfehler zu beheben. Die meisten von ihnen wurden "ich" geschrieben. Ich hatte gehofft, du würdest es mit deinem nächsten Post besser machen, so dass jemand es nicht bearbeiten muss. – meagar

Antwort

1

Sie können dieselbe Methode verwenden, die stackoverflow zum Verknüpfen von Antworten verwendet: Sie geben in der URL die ID der Seite und die ID der spezifischen Antwort (oder des Kommentars in Ihrem Fall) an. Und wenn Ihr PHP-Skript dieses URL-Format sieht, wird die URL mit einem HTML-Anker formatiert.

Zum Beispiel: http://yoursite/question_id/comment_id auf Seite umgeleitet/question_id # comment_id

Sie es auf dieser sehr Antwort testen können über diesen Link klicken: https://stackoverflow.com/a/10027770/311744. Diese URL stellt genügend Informationen bereit, sodass der Server auf die richtige Seite (in diesem Fall die aktuelle Seite) mit dem Anker zu dieser Antwort (# 10027770) umleitet.

Dann können Sie manuell den speziellen Fall behandeln, wo der Kommentar auf der aktuellen Seite ist und das Neuladen der gleichen Seite mit Javascript verhindern (aber ich woudn't stören, und zwar auch nicht)


Bearbeiten: Was ich verstehe, ist, dass Sie in der Lage sein, auf "@ 5" auf einem Benutzerkommentar geschrieben klicken, und dieser Kommentar sollte irgendwie angezeigt werden. An diesem Punkt haben Sie zwei Lösungen:.

  • Sie leiten an der Seite, wo Sie den Kommentar finden können (und wenn dieser Kommentar auf einer anderen Seite ist, sollten Sie die Seite laden Das ist, was ich vorher erklärt
  • .
  • können Sie laden Sie einfach den Kommentar unter dem Kommentar, wo die Referenz, wie youtube ist, wenn Sie Antwort auf Kommentare laden. (auf this youtube page Sie einige Top-Kommentare mit Antworten, die Sie testen können)
+0

aber mein System funktioniert mit Ajax Anrufe und history.pushstates bedeutet es nicht Ajax Anrufe zu ignorieren? –

+0

danke für deine tollen Antworten! das hat mir tatsächlich geholfen, so zu denken, wie youtube, und ich denke auch über einen vollständigen ajax-callback nach, der die seite berechnet, auf der sich der kommentar befindet, gehe auf diese seite und wirf die animationsfolie. vielen Dank –