Einfache Datenbankanwendung
Manchmal möchte man eine einfache Datenbank-Tabelle dazu nutzen, irgendwas zu katalogisieren, z. B. Bücher.
Eine solche Datenbank-Tabelle lässt sich ja schnell mit dem phpymadmin erstellen. Ich habe mir angewöhnt, den Tabellennamen auch immer bei den Tabellenspalten als Vorsatz dazu zu schreiben. Also für eine Bücherkatalog wäre dies hier ein Beispiel:
Rich (BBCode):
CREATE TABLE `book` (
`book_id` int(11) NOT NULL auto_increment,
`book_autor` varchar(69) collate latin1_general_ci NOT NULL,
`book_titel` varchar(255) collate latin1_general_ci NOT NULL,
`book_isbn10` varchar(13) collate latin1_general_ci default NULL,
`book_isbn13` varchar(17) collate latin1_general_ci default NULL,
`book_verlag` varchar(69) collate latin1_general_ci default NULL,
`book_jahr` varchar(4) collate latin1_general_ci default NULL,
`book_auflage` varchar(2) collate latin1_general_ci default '01',
`book_beschreibung` varchar(4096) collate latin1_general_ci default NULL,
PRIMARY KEY (`book_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci ROW_FORMAT=DYNAMIC;
Die hier vorgestellte Anwendung sucht sich eine Datenbank-Tabelle und liest die Spaltendefinitionen aus und gestaltet damit automatisch eine Listenansicht bzw. eine Formular-Ansicht. Deswegen kann man diese Anwendung für alle möglichen Datenbank-Tabellen verwende.
Die extJS-Skripte teilen sich wegen AJAX die Aufgaben:
- die
form.html-Datei ist für den Aufruf und das Zusammenbinden der Dateien auf der Client-Seite zuständig
- die
form.php-Datei erledigt die Server-Arbeit, also den Zugriff auf die MySQL-Datenbank
- die
form.js-Datei enthält die Anwendungslogik des Clients
Bildchen, Styles usw. gibt natürlich auch und eine Helper-Datei wird eingesetzt: SearchField.js. Ist alles so wie in den Beispielen zuvor eigentlich auch.
Bitte einen Dummy-Satz per phpmyadmin erfassen, damit man sich auch mit dem Cursor positionieren kann (kann man später wieder löschen oder ändern). Per Maus-Rechtsklick kommt man an das Kontext-Menü.
Zuerst muss man natürlich noch im php-Skript den Datenbankzugang einrichten (Zeile 12). Man kann das php-Skript auch stand-alone testen (also wenn die Datenbank 'medien' und die Tabelle 'book' heissen würde):
Rich (BBCode):
http://blabla_syno/blubber_pfad/form.php?database=medien&table=book
Dann müsste da schon was ohne Fehlermeldung herauskommen
WEnn soweit ok, geht es wie folgt weiter:
1] Aufruf der Datei
http://blabla_syno/blubber_pfad/form.html
2] Auswahl der Datenbank - Auswahl der Tabelle - 'Load Table' und schon müsste etwas angezeigt werden.
3] Kontext-Menü: add .... usw.
4] Auf die Spaltenköpfe klicken zum Sortieren, Ausschließen, Verschieben, Verbreitern usw.
5] in dem Where-Feld kann man sich per SQL austoben
6] Quicksearch läuft nur über bereits geladenen Daten
Das Teil läuft jetzt schon eine Weile und ist eigentlich recht stabil (ist ja kaum was drin
). Es gibt noch eine Reihe weitere kleiner Geschichten, die ich noch erklären werde ... ist also noch eine Menge drin in dem Skript.
Wie immer steht alles unter GPL3 und geht auf eigene Kappe
.
Viel Spaß.
Itari
.