Empfehlungen: Erweiterte Suche

Kontakteverwaltung

Fragen zur Konzeptionierung und womit man am besten anfäng? Hier rein...

Kontakteverwaltung

Beitragvon RussianStyle » Mi 20. Mai 2009, 14:02

Hallo Forum!

Ich habe vor mit CakePHP eine Kontakteverwaltung zu bauen. Leider weiss ich nicht, wie ich einige wichtige Funktionen mit Cake realisieren kann. An dieser Stelle möchte ich anmerken, dass ich natürlich nicht erwarte, fertigen Code präsentiert zu bekommen. Ich würde mich jedoch über alle Anstösse und Ideen von Euch freuen.

Nun zu meinem Problem:
Ich habe es schon geschafft, eine einfache Kontaktliste zu bauen. Als nächstes sollen die Kontakte in Gruppen zusammengefasst werden können. Und hier liegt der Hund begraben. Es sollen nicht einfach von Hand erstellte Gruppen mit einem Namen sein. Bei der Gruppenerstellung soll der Benutzer ein Formular zu sehen bekommen, wo er verschiedene Kriterien für die neue Gruppe anklicken kann. Zum Beispiel eine Gruppe für alle Kontakte aus Deutschland. Oder alle Kontakte, bei denen eine Email Adresse eingetragen ist. Ein Kontakt soll dabei natürlich zu mehreren Gruppen gehören können.

Ab hier stehe ich auf dem Schlauch.

Wie kann ich die Kriterien für die Gruppe und die Verknüpfung zwischen Gruppe und Kontakt speichern?
Soll ich die Details für einen Kontakt auf mehrere Tabellen aufteilen oder alles in eine Tabelle speichern?

Ich habe noch viele einzelne kleine Fragen, aber ich denke, die werde ich nach und nach selbst aufarbeiten.
In erster Linie muss ich wissen, wie ich die DB dafür aufbaue und wie ich diesen "Filter" für Gruppen gestalte.

Vielen Dank schon mal im Voraus für Eure Mühe.

MfG
RussianStyle
RussianStyle
 
Beiträge: 7
Registriert: Mi 20. Mai 2009, 13:25
Wohnort: Berlin
CakePHP-Version: 1.2.3.8166 stable
OS: Windows XP SP3

Re: Kontakteverwaltung

Beitragvon Mathias » Mi 20. Mai 2009, 15:46

Hey,

du brauchst nicht unbedingt eine Tabelle für die Gruppen. Was du machen möchtest, ist vielmehr Kontakte anhand bestimmter Eigenschaften suchen.
Du hast deine Kontakttabelle mit allen Eigenschaften, die man so für einen Kontakt eintragen kann.
Name, Vorname, E-Mail, Telefonnummer usw.

Dein Formular bietet nun die Möglichkeit nach bestimmten Eigenschaften zu suchen, wie zum Beispiel alle Kontakte mit einer Telefonnummer. Das kannst du über eine Chechbox realisieren, die einen Wert an den Controller gibt, wenn das Formular abgesendet wird.
Im Controller kannst du zum Beispiel checken, ob der Wert von 'Telefonnummer' 0 oder 1 ist. Ist er 0, wird nix unternommen. Ist er 1, könntest du in der Datenabfrage eine Condition angeben, die die nur die Datensätze mit einer Telefonnummer raussucht.

Hoffe, ich konnte ein wenig weiterhelfen.
cheers
Benutzeravatar
Mathias
 
Beiträge: 225
Registriert: Mi 4. Jun 2008, 22:30
Wohnort: Berlin
CakePHP-Version: 1.3.x
OS: OS X 10.6.x

Re: Kontakteverwaltung

Beitragvon RussianStyle » Mi 20. Mai 2009, 22:26

Hallo Mathias!

Vielen Dank für Deine Antwort. Ich bin mir nicht sicher, ob das so, wie Du vorschlägst, wirklich sinnvoll ist. Der Benutzer soll sich ja die Gruppen speichern können, um dann z. B. an eine Gruppe eine Nachricht senden zu können. Nach Deinem Vorschlag müsste er sich ja jedes Mal vor dem Senden die Kriterien erstmal zusammen klicken. Er soll aber einfach die Gruppe auswählen und dann auf den "Senden" Knopf klicken.

MfG
RussianStyle
RussianStyle
 
Beiträge: 7
Registriert: Mi 20. Mai 2009, 13:25
Wohnort: Berlin
CakePHP-Version: 1.2.3.8166 stable
OS: Windows XP SP3

Re: Kontakteverwaltung

Beitragvon havanna » Do 21. Mai 2009, 23:19

Hallo ??? (russischer Stilist?),

sehe das auch so wie Mark, Diese Kriterien, die du hier nennst, stellen nicht unbedingt eine Gruppierung dar.

Ich habe zwar etwas ähnliches (weit hergeholt) in einer Immobilien-Verwaltung: Eine Wohnung kann verschiedene Merkmale haben (Einbauküche, Balkon, Stellplatz, etc.). Dazu habe ich dann eine Tabelle, in der die ID des Objekts und der Bezeichner des Merkmals ist. So kann ich nach allen Wohnungen mit Einbauküche suchen.
Aber: Das hat bei mir ja den Hintergrund, das ein Objekt n Merkmale hat. D.h. ich möchte in der Objekttabelle nicht alle möglichen Merkmale als Felder vorhalten.
Bei deinen Adressen macht es aber durchaus Sinn, die Felder Name, Vorname, Mail, Telefon, Mobil, etc. aufzunehmen.
Ggf. könntest du vordefinierte Formulare erstellen in denen du hinter den Checkboxen eine bestimmte Suche versteckst.
Beispiel Checkbox "Mailadressen" löst im Hintergrund die Suche nach allen Adressen aus, bei denen das Feld Mail-Adresse nicht leer ist. Ich würde eine zweite oder gar dritte Tabelle nur dann aufbauen, wenn du tatsächlich eine 1:n oder eine n:m Beziehung hast. D.h. wenn z.B. eine Person mehrere Adressen haben kann.

Ciao Thomas
Benutzeravatar
havanna
 
Beiträge: 191
Registriert: Mi 15. Okt 2008, 23:12
Wohnort: Bodman-Ludwigshafen
CakePHP-Version: 1.2.x
OS: WIN


Zurück zu Konzeption und Vorgehensweise

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron