Instaliras DBI, instaliras drajver za bazu koju hoces da koristis (u ovom slucaju DBD::MySQL).
Evo ti onda i primer koda, ali procitaj obavezno perldoc entry za DBI posto je bas fino napisan!
Ovo nije bas skolski pisan code ali radio je na tom sajtu za koji je pravljen.. inace samo dovlaci nesto iz baze i stavlja u tabelu.. shvatices lako je:
Code:
#! /usr/local/bin/perl
use DBI;
use strict;
my ($dsn) = "DBI:mysql:ime_baze:server.com";
my ($username) = "username";
my ($password) = "password";
my ($dbh, $sth, $id, $text, $timestamp, $thelink, $oldtimestamp, $timestamp2, $count);
my (@ary);
my ($section) = 1;
print ("Content-type: text/htmlnn");
$dbh = DBI->connect($dsn, $username, $password, { RaiseError => 1 });
$sth = $dbh->prepare ("SELECT link_id, link_text, link_time, link_link FROM main_links WHERE link_type=$section ORDER BY link_id DESC LIMIT 20");
$sth->execute();
$count = 0;
while (@ary = $sth->fetchrow_array())
{
($id, $text, $timestamp, $thelink) = @ary;
# $text =~ s!(.{70})(.{70})(.{70})(.{70})(.{70})!$1<br>$2<br>$3<br>$4<br>$5<br>!;
# $timestamp =~ s!(....)(..)(..)(..)(..)(..)!$4:$5:$6<br>$3/$2/$1!;
$timestamp =~ s!(....)(..)(..)(..)(..)(..)!$3.$2.$1!;
if ($timestamp eq $oldtimestamp) {
$timestamp2 = ""
}
else
{
$timestamp2 = $timestamp;
}
$oldtimestamp = $timestamp;
print qq{
<tr>
<td width="50"> </td>
<td width="358"><a href="$thelink" target="_blank">$text</a></td>};
if ($timestamp2 ne "") {
print qq{
<td width="53" bgcolor="#828282">$timestamp2</td>
</tr>};
}
else
{
print qq{
<td width="53"> </td>
</tr>};
}
$count++;
if ($count > 19) {
print qq{
<tr>
<td width="50"> </td>
<td width="358"><a href="#" onClick="MM_openBrWindow('showall.cgi?section=$section','mainwin','scrollbars=yes,width=300,height=650')">...</a></td>
<td width="53"> </td>
</tr>};
last;
}
}
$sth->finish();
$dbh->disconnect();
exit (0);
Ovo moze jos da se dotera ali pisano je na brzinu a bitno je bilo da radi :)
Obrati paznju na bitne stvari. Kako se pravi
database handle (oznacen sa $dbh) i
statement handle ($sth) i kako posle uzimas podatke sa fetchrow_array(). Ima mnogo drugih nacina ovaj mi je u tom trenutku izgledao najjednostavniji. Mozes i da ih uzimas kao hash, kao asociative array i jos nekih par nacina.. uglavnom, za to citaj perldoc dbi.
Samo sam morao da ugasim jos smajlije zato sam editovao poruku..
[
Ovu poruku je menjao Gojko dana 03-05-2001 u 08:39 PM GMT]