Mailinglisten-Archive |
Liebe Liste, Ich habe schon voe ein paar Wochen eine ähnliche Frage gestellt und gehofft, dass meine Probleme mit den Antworten beseitigt wären. Sind sie aber leider nicht. Nochmal mein Problem: Ich sortiere über einen eigenen Sortier-Index (Int) Beiträge. Wenn einen Beitrag irgendwo zwischen anderen Beiträgen einfügen möchte bzw. einen Beitrag umsortieren will, muss ich diesen Index ja für alle betroffenen Beiträg verändern. Ich habe also meine Funktion, der ich die id ($id) übergebe, ab der der Sortier-Index erhöht werden soll. dort hab ich s zuerst mal mit folgenden probiert: UPDATE table SET sort_id=sort_id+1 WHERE sort_id>$id Das funzt auf meiner Testumbegbung (Win2K, Apache 1.3.12 und MySQL 3.22.34, PHP 3.0.16 bzw. PHP 4.0.5 rc1) auch einwandfrei. Unter Linux mit Apache 1.3.12 und PHP 3.0.16 mit MySQL 3.22.34 hab ich dann leider das Problem, dass MySQL den letzten Eintrag ins Nirvana hochzählt. Also hab ich mal folgendes probiert: UPDATE table SET sort_id=sort_id+1 WHERE sort_id>$id AND sort_id<10000 Das schaut zwar auf den ersten Blick unlogisch aus, erwirkt aber zumindest, dass ich MySQL nicht ständig restarten muss. Fehlermeldung gibts übrigens keine (nicht PHP, nicht Apache, nicht MySQL). Die Logfiles verzeichnen das gar nicht. Das wird doch wohl nicht so schwer sein, dass ich meine Beiträge so sortieren kann, wie ich will! Daher auch meine Fragen an Euch: - Sollte ich vielleicht mal irgendwas mit LOCK probieren? Wie läuft das denn bei MySQL, wenn ich z.B. zeitgleich Sortieren lasse? bzw. wenn alles nicht hilft: - Wie kann ich Beiträge mit einer andeen Methode sortieren lassen? bitte helft mir :) ich bin schon am Verzweifeln. Georg
php::bar PHP Wiki - Listenarchive