Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 35 odgovora
  • 13.298 pregleda

Najnovija ↓

Pozivanje mySQL-a iz perla 05.03.2001. u 19:58 · pre 312 meseci #1
Uz pomoc cega se poziva mySQL iz perla i na koji nacin? Ja sam cuo za DBI i tako nesto ali ne znam kako se to ostvaruje ?
Re: Pozivanje mySQL-a iz perla 05.03.2001. u 20:16 · pre 312 meseci #2
evo ti jedan primer...

#! /usr/local/bin/perl
#############################################
# (C)2000 by UroS, [email protected]
# PerlDBI -> MySQL Guestbook
#############################################

use DBI;

my () = "DBI:mysql:TvojaBaza:Tvoj.Host.Domain";
my () = "TvojUsername";
my () = "TvojPassword";
my (, , , , );
my (@ary);

print ("Content-type: text/htmlnn");

= DBI->connect(, , , { RaiseError => 1 });

= ("SELECT name, email, message, timestamp, ip_address FROM main_guestbook ORDER BY timestamp LIMIT 30");
();

while (@ary = ())
{
(, , , , ) = @ary;
=~ s!(....)(..)(..)(..)(..)(..)!$3.$2.$1!;
print qq{<tr> };

if ( ne "") {
print qq{ <td width="19%"><a href="mailto:"></a></td> };
}
else
{
print qq{ <td width="19%"></td> };
}

print qq{
<td width="51%"></td>
<td width="16%"></td>
<td width="14%" align="center"><a href="#" onClick="javascript:ipshow()">*recorded</a></td>
</tr>};

}

();
();

exit (0);


[Ovu poruku je menjao UroS dana 03-05-2001 u 08:16 PM GMT]
Potpis
one-thousand, three-hundred and thirty-seven.
Re: Pozivanje mySQL-a iz perla 05.03.2001. u 20:35 · pre 312 meseci #4
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]
Re: Re: Pozivanje mySQL-a iz perla 05.03.2001. u 20:43 · pre 312 meseci #5
Citat:
Judge Dred wrote:
kad bi malo objasnio kod, bilo bi veoma lepo


Uros se zezao onaj kod cak ni ne radi a ja sam ti u prethodnoj poruci dao original koji radi :)
Re: Pozivanje mySQL-a iz perla 05.03.2001. u 23:14 · pre 312 meseci #6
e odakle da skinem dbi ili ga vec imam sa perlom ? i kkao se instalira?
btw. gojko, da li je moguce promeniti nick ?
Re: Re: Pozivanje mySQL-a iz perla 06.03.2001. u 00:41 · pre 312 meseci #8
Citat:
Judge Dred wrote:
e odakle da skinem dbi ili ga vec imam sa perlom ? i kkao se instalira?
btw. gojko, da li je moguce promeniti nick ?


Pa sa CPAN mreze odatle se sve skida, Perl i sve za njega. cpan.perl.com

a nick nije, pa onda bi ja mogao da kazem nesto sve vas ispljujem i izmenim nick i onda nemate pojma ko sam u stvari.
ne moze da se menja nick. registruj se kao nov user ako bas moras.. ali ostaje stari..
Re: Pozivanje mySQL-a iz perla 07.03.2001. u 02:06 · pre 312 meseci #12
mryoo: pa ja mislim da je prva stvar koja se nauci u perlu - bas to kako se koristi CPAN posto je nezamenjlijv.. perl -MCPAN -e shell; .. u win32 je to ppm pa pratite instrukcije

mod_perl je apache module i uglavnom se koristi da bi se ubrzalo izvrsavanje perla jer je nonstop ucitan zajedno sa apacheom i ima dosta optimizacija. nije lose koristiti ako server zna da bude opterecen.
Re: Pozivanje mySQL-a iz perla 07.03.2001. u 06:36 · pre 312 meseci #13
e gojko da ne postavljam novu temu nego mi odogvori ovde ako mozes
na kom ti se serveru nalazi ovaj sajt i da li je free ili placas?
Re: Pozivanje mySQL-a iz perla 07.03.2001. u 11:22 · pre 312 meseci #14
Mislim da sam to vec napisao gore u announcementu, ali da ponovim :

Verat.net nas hostuje, for free :) Tj u zamenu za onaj banner dole sto ga vidis..
Kod njih je u toku martovski popust, tako da je hosting samo 1000 DIN za godinu dana..
Re: Pozivanje mySQL-a iz perla 07.03.2001. u 16:47 · pre 312 meseci #17
jos nesto
da li moze kad se napravi .cgi da se isto ovo radi, ali samo sada znaci da to bude cgi, znaci da se otvara i prikazuje u browseru ?
ja sam probao ali mi nije nista prikazao u browseru, znaci prazan screen
Re: Re: Pozivanje mySQL-a iz perla 07.03.2001. u 18:23 · pre 312 meseci #18
frenne:
cpan je mreza distribuiranja perla i svega vezanog za njega. jedini izvor gde treba traziti perl module kao i sam perl. poseti cpan.perl.com za vise informacija.

Judge Dred:
fetchrow_array u stvari dovlaci red iz rezultata u obliku niz-a (array). vraca undef kao rezultat kada nema vise rezultata i tada se while petlja prekida.
Re: Pozivanje mySQL-a iz perla 07.03.2001. u 18:25 · pre 312 meseci #19
Judge Dred:

Ovo i jeste CGI i prikazuje se u browseru.. a moras da imas nesto u bazi da bi imao sta da prikaze.

A to da je CGI mozes da vidis i po liniji:
print ("Content-type: text/html\n\n");
Re: Pozivanje mySQL-a iz perla 07.03.2001. u 20:05 · pre 312 meseci #20
pa ja sam sinoc probao cgi ali nije hteo da prikaze
cekaj jel ovo

print ("Content-type: text/html\n\n");

mora u zagradi da bude ?
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme