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

Zurück zum Anfang dieses Projekts.