Beiträge: 6
Themen: 2
Registriert seit: 2011
Bewertung:
0
Hallo,
ich habe das Update auf MGB 0.6.8 (von vorgänger version)
Nach kurzer Zeit ist mir aufgefallen, daß die Einträge nicht in der gewünschten Reihenfolge erscheinen.
In der Datenbank sind die Einträge in der richtigen Reihenfolge, in dem Admin-Menü unter "Einträge editieren" sind sie auch richtig.
Nur online nicht. Wenn ich die Art der Sortierung ändere, ändert sich nur die ID (absteigend oder aufsteigend) die Einträge bleiben jedoch an der gleiche Stelle.
Hat jemand eine Idee, voran es liegen kann ?
Besten Dank
Jan
Beiträge: 924
Themen: 54
Registriert seit: 2006
Bewertung:
0
Hallo Jan!
Herzlich Willkommen im Forum, und sorry wegen der Freigabepflicht für neue Benutzer. Ist aber aufgrund von zu viel Spam leider nötig geworden.
Zu Deiner Frage. Das mag Dich vielleicht verwundern, aber so wie Du das schilderst, ist es korrekt. In der Administration steht folgender Text: Zitat:Nummerierungsreihenfolge:
Bestimmt die Reihenfolge in der die Einträge nummeriert werden.
Wie der Text schon sagt, lediglich die Nummerierung der Einträge ändert sich. Der neueste Eintrag erscheint immer an erster Stelle, egal was Du da einstellst. Es würde ja auch irgendwie keinen Sinn ergeben, den ältesten Eintrag ganz oben stehen zu lassen, und die neuen Einträge hinten anzureihen.
Es wurde vor einiger Zeit mal gewünscht, die Nummerierung einstellen zu können, so dass der neueste Eintrag immer als #1 angezeigt wird. Nur deshalb befindet sich eigentlich diese Option im Gästebuch.
Beiträge: 6
Themen: 2
Registriert seit: 2011
Bewertung:
0
Hallo Mopzz,
zuerst danke ich dir für die schnelle Antwort. Ich glaube, ich habe mein Problem nicht ganz richtig beschrieben.
Also, die Datensätze sehen in der Datenbank wie folgt aus. (Der erste Eintrag ist der älteste und der letzte Eintrag ist der jünste)
ID: NAME:
1 Gudrun
2 Michaela
3 Folkmar
4 Wilfried
8 Manuela
9 Fred
10 Peter
11 Stefan
12 Merz
13 Becker
14 Jürgen
Angezeigt werden diese Einträge jedoch wie folgt (egal was ich einstelle)
1 Folkmar
2 Michaela
3 Gudrun
4 Jürgen
8 Becker
9 Merz
10 Stefan
11 Peter
12 Merz
13 Manuela
14 Wilfried
Ich muss noch dazu sagen, daß ich die ganzen Einträge langsam aus meinem alten Gästebuch übetrage.
Das bedeutet, ich trage zuerst den Text ein und dann im ADMIN-Bereich ändere ich das Datum des Eintrages (so wie es im alten Buch war), auch wenn es schon z.B. 2 Jahre zurück liegt.
Hat es damit etwas zu tun ??
Gruß
Jan
Beiträge: 924
Themen: 54
Registriert seit: 2006
Bewertung:
0
Ja, das kann schon etwas damit zu tun haben. Grundsätzlich ist es so, dass in der Datenbank eine ID vergeben wird. Diese ID des Eintrages ist immer eindeutig. Das heißt, diese ändert sich nie. Mal angenommen Du bekommst 10 Gästebucheinträge, löschst dann aber Nr. 7 und Nr. 8 weil sie Spam enthielten. Dann bekommt trotzdem der nächste Gästebucheintrag die Nr. 11 und nicht wieder 7 oder 8.
Und dazu kommt noch, dass in der Datenbank die alten Gästebucheinträge zuerst, die neuen zuletzt angezeigt werden. Mit der ID aufsteigend. Im Gästebuch selbst wird aber nicht die ID als Eintragsnummer angezeigt, sondern die tatsächliche Nr. die der Eintrag beim Auslesen aus der Datenbank bekommt. Um wieder zum obigen Beispiel zurück zu kehren: Nach der Löschung von 7 und 8 wird der Gästebucheintrag mit der ID 9 als Eintrag mit der Nummer 7 im Gästebuch angezeigt.
Es wäre unlogisch, dort die ID anzeigen zu lassen. Wenn man 500 Gästebucheinträge bekommen hat, hat aber 250 wegen Spam oder ähnlichem gelöscht, würden die Nummern Lücken enthalten. Ein normaler Besucher würde sich fragen "Warum sind nur 250 Einträge vorhanden, obwohl der erste die Nummer 500 hat?"
Vielleicht werden die Einträge aber auch in phpMyAdmin nur falsch angezeigt. Versuche mal bei "Nach Schlüssel sortieren:" folgendes: "PRIMARY (aufsteigend)".
Du kannst auch überprüfen, ob die tatsächlichen IDs der Einträge mit der Reihenfolge wie sie im Gästebuch erscheinen übereinstimmt.
Beiträge: 6
Themen: 2
Registriert seit: 2011
Bewertung:
0
Hallo Mopzz,
nun habe ich noch eine Prüfung durchgeführt.
Ich habe das Gästebuch komplett neu und sauber installiert.
Dann habe ich angefangen die Einträge einzutragen und im Admin-Bereich auch das Datum geändert. Dann erfolgte die Freischaltung.
1 Gudrun (Datum 03.01.2000)
2 Michaela (Datum 09.01.2000)
3 Folkmar (Datum 19.06.2001)
Bis hierhin war die Sortierung in Ordnung Der Eintrag "Gudrun" war unten, da ja der älteste ist, der Eintrag "Folkmar" war ganz oben, da ja der jüngste ist.
Dann kam der Eintrag:
4 Wilfried (Datum 13.08.2003)
Nach der Freischalftung von diesem Eintrag war die Sortierung wieder hin.
Der Eintrag "Wilfried" war ganz unten, obwohl er nicht der älteste ist.
Dann kam der Eintrag "Gudrun" - dieser sollte eigentlich ganz unten sein. Er war an der zweiten Stelle von unten.
Dann kommt "Michaela" - es ist der zweite jüngste Eintrag
Dann kommt "Folkmar" ganz oben, obwohl da sollte "Wilfried" stehen, da dieser Eintrag der jüngste ist.
Was habe ich falsch gemacht ?
Gruß
Jan
Beiträge: 924
Themen: 54
Registriert seit: 2006
Bewertung:
0
Hah! Ich weiß, wo der Fehler liegt. Öffne mal bitte die "index.php" und suche nach der Zeile Code: $sql = "SELECT ID, name, city, email, icq, aim, msn, hp, message, comment, timestamp, user_show_email FROM ".$db['prefix']."entries WHERE checked=1 ORDER BY timestamp DESC LIMIT $load_start, $load_end";
und ändere das "timestamp" nach "ORDER BY" in "ID". Ersetze die Datei auf dem Server und rufe das Gästebuch nochmal auf. Dann sollte es funktionieren.
Irgendwie scheint hier nämlich die Sortierung nach dem Zeitstempel nicht richtig zu funktionieren. Ich konnte den Fehler bei mir sogar reproduzieren. Mit DESC und ASC kannst Du übrigens die Sortierreihenfolge ändern. Wahlweise Ab- oder Aufsteigend.
Beiträge: 6
Themen: 2
Registriert seit: 2011
Bewertung:
0
Hallo Mopzz,
das war's ! ! ! Es läuft !!!
ES GEBÜHRT DIR WIRKLICH MEIN DANK ! ! ! !
Gruß
Jan
Beiträge: 924
Themen: 54
Registriert seit: 2006
Bewertung:
0
Bitte, gern geschehen. Ab der nächsten Version wird standardmäßig nach ID sortiert, nicht mehr nach timestamp.
|