Datenbank basierte Linkseite
Vorüberlegungen
Die Links sollen in Kategorien unterteilt werden, also z.B. Astronomie, Hompages, Perl usw. . Diese
Gruppen sollen am Anfang der Seite als Sprungmarken stehen, um bei größeren Sammlungen schneller
zur gewünschten Gruppe zu gelangen. Innerhalb der Kategorien sollen die Links alphabetisch geordnet
(nach Anzeigename) dargestellt werden. Damit wir auch wissen, von wann der Link stammt, stellen
wir noch das Datum der Eingabe dar.
Schön, jetzt haben wir die Anzeige der Links, aber wie erzeugen wir die notwendigen Gruppen und die
dazugehörigen Links? Dazu werden wir zwei weitere Perl-Skripte einsetzen. Diese sollen allerdings
in einem geschützen Bereich (z.B. .htaccess) des Webservers liegen, damit nur der Besitzer die Links,
bzw Gruppen verändern kann.
Die Tabelle für die Kategorien
Die Tabelle für die Kategorien sollte eine Spalte für den Gruppenindex und eine Spalte für den
Gruppennamen enthalten:
+--------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+-------------+------+-----+---------+----------------+ | katid | int(10) | | PRI | 0 | auto_increment | | gruppe | varchar(40) | | | | | +--------+-------------+------+-----+---------+----------------+Nachfolgend ist nun der SQL Befehl aufgeführt um die notwendige Datenbanktabelle zu erzeugen.
auto_increment
bedeutet, daß hier beim Erzeugen eines Datensatzen automatisch ein neuer
eindeutiger Primary Key durch einfaches Hochzählen erzeugt wird.CREATE TABLE link_kat ( katid int(10) DEFAULT '0' NOT NULL auto_increment, gruppe varchar(40) NOT NULL, PRIMARY KEY (katid) )
Die Tabelle für die Links
Die Tabelle für die Links sollte eine Spalte für einen eindeutigen Index, und je eine Spalte für die URL,
Name, Datumsstempel und zugehörige Gruppennummer enthalten:
+--------+--------------+------+-----+---------------------+----------------+ | Field | Type | Null | Key | Default | Extra | +--------+--------------+------+-----+---------------------+----------------+ | linkid | int(10) | | PRI | 0 | auto_increment | | url | varchar(100) | | | | | | name | varchar(100) | | | | | | stamp | datetime | | | 0000-00-00 00:00:00 | | | grpid | int(10) | | | | | +--------+--------------+------+-----+---------------------+----------------+Nachfolgend ist nun der SQL Befehl aufgeführt um die notwendige Datenbanktabelle zu erzeugen.
CREATE TABLE links ( linkid int(10) DEFAULT '0' NOT NULL auto_increment, url varchar(100) NOT NULL, name varchar(100) NOT NULL, stamp datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, grpid int(10) DEFAULT '0' NOT NULL, PRIMARY KEY (linkid) )
Literaturhinweise
- MySQL Homepage
- MySQL & mSQL aus dem O'Reilly Verlag (englisch)
Zurück zum Anfang dieses Projekts.