|
Um das schwarze Brett funktionsfähig zu machen, fehlt noch die Datenbankanbindung. Mit den heute gelernten Techniken soll diese jetzt realisiert werden.
Auf dem MySQL-Server sind folgende Tabellen eingerichtet, die von allen Gruppen gemeinsam benutzt werden:
Tabelle: anzeigen
| Field | Type | Key | Default | Extra |
| id | int(11) | PRI | 0 | auto_increment |
| gruppe | char(2) | | NULL | |
| vorname | varchar(100) | | | |
| nachname | varchar(100) | | | |
| email | varchar(100) | | | |
| titel | varchar(255) | | | |
| text | text | | NULL | |
| typ | int(11) | | 0 | |
| kategorie | int(11) | | 0 | |
| preis | decimal(11,2) | | NULL | |
| datum | datetime | | 0000-00-00 00:00:00 | |
| extra | blob | | NULL | |
| bild | varchar(100) | | NULL | |
Die Anzeigentypen könnten z.B. wie folgt definiert werden:
1: biete
2: suche
3: tausche
Tabelle: kategorie
| Field | Type | Key | Default | Extra |
| id | int(11) | PRI | 0 | auto_increment |
| bezeichnung | char(30) | | | |
| gruppe | char(2) | | NULL | |
Um auf die Datenbank zuzugreifen, verwendet als Usernamen "print" und als Passwort "trimp".
Der Datenbankserver ist vom Webserver aus über "localhost" erreichbar. Die Datenbank heißt "printwww" und enthält die beiden obigen Tabellen.
In beiden Tabellen ist die Spalte id der Primärschlüssel, muss also einen eindeutigen Wert enthalten. Darum braucht Ihr Euch jedoch nicht weiter zu kümmern, übergebt für diese Spalte einfach den Wert 0 (Null). MySQL wählt dann für Euch einen eindeutigen Index. Das Feld datum in der Anzeigen-Tabelle soll den Zeitpunkt des Abspeicherns enthalten. Verwendet dazu die SQL-Funktion now() wie folgt:
INSERT INTO anzeigen VALUES (0,....,now())
 | Zunächst kann man den Inhalt der Tabelle "Kategorie" mit folgendem Tool anschauen.
Schreibt dann Euer Eingabe-Formular so um, dass es die Kategorien für einen Artikel aus der Tabelle "Kategorie" in ein SELECT - Formularfeld liest. Verwendet als VALUE-Attribut den Wert des Feldes ID und zeigt in der Auswahlliste den Wert von bezeichnung an: <OPTION VALUE='1'>Kategorie</OPTION>
|
 |
Daten in die Datenbank einfügen.
Schreibt eine Seite, die einen neuen Artikel in die Datenbank einfügt, nachdem die Daten überprüft wurden.
|
 |
Daten in der Datenbank suchen.
Modifiziert die 'Suche'-Seite so, dass die Suche (nach bestimmten Kriterien) in der Datenbank ausgeführt wird.
Außerdem modifiziert die Ergebnisseite, so dass dort die Datenbank-Ergebnisse dargestellt werden.
|
 |
Hinter jedem angezeigten Artikel soll ein Link liegen, über den ein Benutzer sich den Text des Artikels ansehen kann. Erstellt eine Seite, die die ID eines Artikels übergeben bekommt und dann alle verfügbaren Informationen zu diesem Artikel ausgibt.
Tabellen anschauen:
- Ihr habt Euch sicher schon gefragt, was die
Spalte gruppe in der Tabelle kategorie zu bedeuten hat. Je nach Thema des schwarzen Bretts passen die vorgegebenen Kategorien nicht besonders gut. Wir haben daher einen Kategorien-Editor erstellt, mit dem
Ihr eigene Kategorien in die Tabelle eintragen könnt. In der Spalte gruppe wird
dann Eure Gruppennummer gespeichert. So könnt Ihr dafür
sorgen, dass Ihr nur Eure eigenen Kategorien anzeigt. (1 Punkt)
- In den Bonusaufgaben zum 2. und 4. Termin solltet Ihr die Funktionalität erstellen, ein Bild mittels Requester auszuwählen und als Datei auf dem Server zu speichern. Jetzt könnt Ihr die Adresse des Bilds in der Datenbank abspeichern, um bei der Darstellung eines Artikels das zugehörige Bild anzuzeigen. (1 Punkt)
- Stellt Euren Counter so um, dass er statt auf einer Datei auf der DB arbeitet. Wir haben dazu folgende Tabelle angelegt:
Tabelle: counter
| Field | Type | Key | Default | Extra |
| id | int(11) | PRI | 0 | auto_increment |
| gruppenid | int(4) | | 0 | |
| count | int(11) | | 0 | |
|
Viel Spaß!
| Mi 12-16 Uhr
| Raum: B-201 und RZ
| Start: 05.04.2006
|
Eine Veranstaltung des Arbeitsbereichs Verteilte Systeme und Informationssysteme (VSIS)
|
|
Letzte Änderung : 02.05.2006 - 15:32
EMail: prInt06@vsis.informatik.uni-hamburg.de
|