Mailinglisten-Archive |
Guten Abend! Ich habe hier eine Datenbank mit folgendem Aufbau. --- char_id (Primary, auto_inc) char_name (varchar, index) active (tinyint, index) [Daten zu dem Character] --- Nun wurde leider von mir gefordert auf jeder Detailseite einen Link zu dem Character mit dem alphabetisch folgenden Namen zur Verfügung zu stellen. Nach einiger Nachdenkzeit habe ich nun auch eine Lösung erstellt, die soweit funktioniert. --- (für den nächsten eintrag) SELECT e2.char_id FROM ew_profiles e1, ew_profiles e2 WHERE e1.char_id = $char_id AND e2.active = 1 AND e2.char_name >= e1.char_name AND CONCAT(e2.char_name, e2.char_id) > CONCAT(e1.char_name, e1.char_id) ORDER BY e2.char_name ASC LIMIT 1 --- Ich bin mir aber bei der gesamten Sache ziemlich unsicher. Hauptsächlich, da ich das Gefühl habe es müsste doch eine vielleicht trivialere Lösung geben? Und da ich nicht wirklich abschätzen kann, was mysql da nun intern macht - ob es irgendwelche starken Lasten erzeugt? Ich hätte ja auch noch die Möglichkeit, die Relationen beim erstellen / ändern der Datensätze mit zu speichern. Allerdings bin ich mir darüber unsicher, da durch Fehler, oder manuelle Eingriffe in die Datenbank die Relationen nicht mehr stimmten. Kann mir vielleicht jemand mit mehr Erfahrung meine Sorgen vertreiben? Oder übersehe ich vielleicht sowieso eine viel einfachere Variante? Wie würdet ihr denn soetwas lösen. Ich danke euch schonmal für eure Aufmerksamkeit und hoffentlich Hilfe Johannes Dillmann -- Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter -->> http://www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive