Felder automatisch ergänzen lassen ...
Michael
- php
Hallo,
schreibe an einer Projektverwaltungs-DB über Web. In dieser HP ist alles Menügesteuert und auch über Benutzerberechtigungen.
Aber... mein Problem ist es, daß ich trotzdem nachvollziehen möchte, wer wann was wo gemacht hat (nur in den DB-Sätzen selbst).
In dieser DB ein Feld einzufügen mit "Änderung"... ok, aber da steht ja nur immer der drinnen, der auch zuletzt was geändert hat.
Ich möchte es aber anderes haben, ein Feld wo alle drinnen stehen.
Beispiel:
Benutzerfeld: Michi ; Alex ; Klaus
--> * * *
--> ERsteller Änderung Änderung
Wie mache ich es , daß derjenige der zuletzt einen Datensatz geändert hat einfach z.B. in das Textfeld Benutzerfeld hinzugefügt wird, ohne das die vorangegagenen Namen überschrieben werden ?
Kann mir wer weiterhelfen...?
Wäre echt super klasse...
Danke und viele GRüße
Michael
Hallo Michael
schreibe an einer Projektverwaltungs-DB über Web. In dieser HP ist alles Menügesteuert und auch über Benutzerberechtigungen.
schön schön. Programmiersprache (Perl/PHP/Asp...?), Datenbank (mysql, sql, ...?) - oder hast du angst, du könntest uns mit Informationen überfluten ;-)
Aber... mein Problem ist es, daß ich trotzdem nachvollziehen möchte, wer wann was wo gemacht hat (nur in den DB-Sätzen selbst).
Dann würde ich in den DB-einträgen automatisch das Datum und die zeit oder vielleicht einen Unix-timestamp (die möglichkeiten sind dir sozusagen grenzenlos, bei Mysql kannst du das die DB sogar automatisch machen lassen [was nix besonderes ist] ) oder sonstwas einfügen. :-)
In dieser DB ein Feld einzufügen mit "Änderung"... ok, aber da steht ja nur immer der drinnen, der auch zuletzt was geändert hat.
Dann musst du die aktuelle Änderung immer hintendranfügen. Also z.B. dann mit trennzeichen (ich verwende immer gerne [!] ;-) ) und dann mit deiner serverseitigen Progr.-Sprache wieder splitten (in array aufteilen...)
Ich möchte es aber anderes haben, ein Feld wo alle drinnen stehen.
s.o.
Kann mir wer weiterhelfen...?
siehe ganz oben. Gebe bitte erst mal die Gegebenheiten an.
Hannes Bambel (auch bekannt als der Weihnachtsmann weiter hinten auf http://forum.de.selfhtml.org/)
Hallo Hannes,
in der Tat :-) , wollte die Infos mal erst noch kurz halten ...
schön schön. Programmiersprache (Perl/PHP/Asp...?), Datenbank (mysql, sql, ...?) - oder hast du angst, du könntest uns mit Informationen überfluten ;-)
Ich verwende ausschließlich PHP , MySQL und für kleinere DBs Access.
Dann musst du die aktuelle Änderung immer hintendranfügen. Also z.B. dann mit trennzeichen (ich verwende immer gerne [!] ;-) ) und dann mit deiner serverseitigen Progr.-Sprache wieder splitten (in array aufteilen...)
Sowas in der Art habe ich mir gedacht, nur ich habe das Problem ... weis nicht wie und wo ich anfangen soll zum Code schreiben :-(
Habe auch schon versucht, nachzulesen... aber auch hier habe ich das Problem... weis nicht unter was für Hinweistexten ich suchen soll...
Danke vorab ...
Viele Grüße
Michael
Hello,
Sowas in der Art habe ich mir gedacht, nur ich habe das Problem ... weis nicht wie und wo ich anfangen soll zum Code schreiben :-(
Da kann ich Dir helfen.
1. Nimm dir genügend Schmierpapier
2. Loche das zum Abheften
3. Schreib oben drüber die Projektbezeichnung, Datum und Seitennummer
4. Nimm Dir einen schönen Bleistift, einen Anspitzer und ein Radiergummi
5. Male als erstes ein Bild von der Datenbank (nennt man ERM oder ERD)
6. Schreib in diener Muttersprache einfach Deine Ideen auf, Satz für Satz.
Das nennt man dann auch Stoffsammlung und es sollte im Grobkonzept
münden
7. Teile auf in die Stufen der Datenbnak-Programmentwicklung:
a)Externe Ebene: Was der Benutzer sieht
b)Konzeptionelle Ebene: Wie es logisch aufgeteilt werden muss
c)Interne Ebene: Wie die logischen Anforderungen umzusetzen sind -> OS
8. Daraus ergibt sich, dass Zugriffe auf die Dateien des DBMS nur über
eine einheitliche Schnittstelle zu erfolgen haben.
Vollständige DMBS kontrollieren das über Trigger und Strored Procedures
Bei MySQL musst Du noch selbst dafür sorgen, was einen erhöhten Pflege-
aufwand der Applikationen bedeutet, wenn man über verschiedene APIs
auf die Datenbank zugreifen will (Direkt über Port, mit PHP, über Shell,
über PERL, über C-Interface, ...)
9. In der konzeptionellen Ebene hast Du ja bemerkt, dass Du eine Tabelle
"history" benötigst, in der vermerkt wird, wer wann was an welcher
Tabelle gewerkelt hat. Die Methoden dafür stecken in einem Modul (Klasse)
"dm" -> "create, insert, update, delete" -> "table-x create", "table-y
create" , usw.
Das zeigt die Vererbung auf. Nur in der Klasse "dm" wird die Historie
geschreiben. davon abgeleitet wird die Klasse für Create, Insert,
Update, Delete und davon wieder die Klassen für die einzelnen Tabellen.
Die Ergebnisse der Operationen werden so konsolidiert und in "dm" (Data-
Manipulation) an die Historie gemeldet.
Ich hoffe, das reicht für die Ideenfindung.
Liebe Grüße aus http://www.braunschweig.de
Tom