phpbar.de logo

Mailinglisten-Archive

[php] 1:n Beziehung nach Bearbeitung erneut schreiben, wie?

[php] 1:n Beziehung nach Bearbeitung erneut schreiben, wie?

Henning Heil lists at h-quadrat.com
Sam Mar 27 13:52:00 CET 2004


++++ 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