Quick Ref.
Functions
date
number
string
Data Types
date
number
string

Erstellen einer datenbankbasierten Webseite mit Perl

Um eine datenbankbasierte Website zu erstellen, wird Folgendes benötigt:

  • einen Web-Server,
  • eine Skript-Sprache,
  • eine Datenbank.

Das folgende Beispiel basiert auf Windows / Apache / Perl / MySQL.

  • Installiere Perl.
  • Verwende ppm zur Installation des MySQL-Moduls wie folgt:
    C:\>c:\perl\bin\ppm
    PPM>install DBD-Mysql
    PPM>exit
    C:\>exit
  • Installiere Apache.
  • Starte den Apache-Server: C:\Programme\Apache Group\Apache\Apache.exe oder C:\Programme\Apache Group\Apache2\bin\Apache.exe
  • Lege eine neue HTML-Datei cia.htm im Pfad C:\Programme\Apache Group\Apache\cgi-bin\ an. Der Text der Datei ist unten dargestellt.
  • Das in der Datei enthaltene Perl-Programm stellt eine Verbindung zu einem MySQL-Server her, der an der Napier-Universität läuft.
  • Das Resultat der eigenen Arbeit kann unter der Adresse http://localhost/cgi-bin/cia.htm bewundert werden.
#!C:/perl/bin/perl
use CGI qw(:standard);
use Mysql;

print header();

#Import the CGI parameters into the $Q structure
import_names();

#Connect to Andrew's MySQL server at Napier University
my $dbh = DBI->connect("dbi:mysql:database=gisq;host=pc236nt.napier.ac.uk;port=3306",
                       "scott", "tiger");

my $sth = $dbh->prepare("SELECT DISTINCT region FROM cia");
$sth->execute;
print "<h1>Here are some regions</h1>\n";
while (my ($region) = $sth->fetchrow_array()){
  print "<a href='?region=$region'>$region<a><br/>\n";
}

if ($Q::region) {
  print "<h1>Here are the countries of $Q::region</h1>";
  my $sth = $dbh->prepare("SELECT name, population FROM cia where region=?");
  $sth->execute($Q::region);
  while (my ($name,$pop) = $sth->fetchrow_array()){
    print "$name $pop<br/>\n";
  }
}

$dbh->disconnect;

Und so sollte es aussehen.