Mailinglisten-Archive |
++++ patrick müller (aka elias) wrote on 27.03.2004 13:16 ++++ > Henning Heil wrote: > >> Jetzt kann der Benutzer aber eine Notiz bearbeiten und ich bekomme >> ggf. einen anderen string wie z.B. "1|4|22" (freilich viel später, >> der alte string ist jedenfalls nicht mehr verfügbar). Die für mich >> derzeit unüberwindliche Schwierigkeit liegt darin, die alten mit den >> neuen Einträgen zu vergleichen und das Delta herauszufinden. Die >> neuen Werte kann ich leicht in ein array bekommen, die alten mit >> einem einfachen select auch, aber wie vergleiche ich? > > > Also ich würde die Strings aus beiden Quellen exploden, dann mit merge > zusammenpappen und ein array_unique drauf anwenden. > Das allein über SQL zu regeln stelle ich mir bei Strings schwierig vor. > Willst du denn auch Kontakte löschen können? o.k., halten wir mal fest: wir bekommen beide Mengen (irgendwie erinnert mich das verdächtig an Schule) in je einen array, dann kommt's zur eigentlichen Schwierigkeit. Die nicht mehr vorhandenen alten Werte sollen gelöscht werden, die Werte die in neu&alt identisch sind bleiben unverändert und die neuen sollen in die Tabelle geschrieben werden. Aber wie komm' ich jetzt mit den Mengen überein? Kann man so mergen, dass nur identische Werte übrig bleiben? Also alt = {14,22,78}, neu = {14,22} zu gemeinsam = {14,22} Dann könnte man - zumindest gedanklich - die Mengen voneinander abziehen (alt - gemeinsam und neu - gemeinsam) und erhielte was zu löschen und zu schreiben ist. Aber programmier' das mal . . . Henning
php::bar PHP Wiki - Listenarchive