🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #52190

Re: perl - wyciąganie danych z bazy

#52190
From: Stachu 'Dozzie' K.
Date: Fri, 11 Mar 2011 10:47
58 lines
3244 bytes
On 2011-03-11, MaRc <marc@gmails.com> wrote:
> W dniu 11.03.2011 09:43, Stachu 'Dozzie' K. pisze:
>> Jeśli tak, to kto ci nakłamał że to tylko jeden wiersz?

> przepraszam, mój błąd. przeklikałem się. miałem na myśli, że zwraca jedną 
> kolumnę na wiersz.

>> Jakoś ciężko mi w to uwierzyć.
> $users = [1,2,3,4,5] - to jest coś co chciałem osiągnąć i myślałem, że tak 
> powinno być, ale się jednak myliłem i stąd moje posty :)

To ty chcesz najpierw pobrać dane do $users jako tablica wierszy,
z których każdy jest tablicą (jednoelementową) pól, a potem chcesz
spłaszczyć tę tablicę.

perldoc perllol.

Alternatywnie (i raczej tak bym podchodził) powinieneś użyć metody
selectcol_arrayref().

> biorąc pod uwagę, że "$users = $sth->fetchall_arrayref();" to jak
> powinienem prawidłowo dostać sie do danych?

> print "$users[0]->[0]"; nic mi nie drukuje
> print "${$users[0]}->[0]"; nic mi nie drukuje
> print "${$users[0]}[0]"; nic mi nie drukuje
> print "$users->[0]->[0]"; drukuje pierwsza wartość
> print "$$users[0]->[0]"; drukuje pierwsza wartość

perldoc perllol. Tam jest to wszystko opisane.

[...]
> print Dumper(\@users)
> #v-
[...]
> Print Dumperem tablicy @users
> $VAR1 = [
>            [
>              [
>                '1'
>              ],
[...]
>> Poza tym nie zgadza ci się głębokość zwróconej struktury. Jeśli $users
>> zawiera [ [[]] ], to @users powinno zawierać ( [ [[]] ] ), a według
>> ciebie zawiera jeden poziom mniej.
>
> no może coś przeklikałem :/

No pewnie, teraz już jasne. Nieprawidłowo uznałeś to co zwraca
Data::Dumper za właściwą zawartość tablicy, a przecież podałeś mu
referencję do tej tablicy, więc oczywistym jest że głębokość referencji
będzie jeden większa.

Powyższe stwierdzenie czytać aż do zrozumienia, bo jest zawiłe.

-- 
Secunia non olet.
Stanislaw Klekot
Technical Details
Message-ID: <ilcuj9$a89$4@solani.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!feeder.news-service.com!weretis.net!feeder5.news.weretis.net!news.solani.org!not-for-mail
References: <ilbcmq$57j$1@pippin.nask.net.pl> <20110310222645.6b8b4567@polsl.pl> <ilcmhb$1u3$1@pippin.nask.net.pl> <ilcnbj$l1v$1@solani.org> <ilcpfs$3bu$1@pippin.nask.net.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!newsfeed00.sul.t-online.de!t-online.de!feeder.news-service.com!weretis.net!feeder5.news.weretis.net!news.solani.org!not-for-mail
From: "Stachu 'Dozzie' K." <dozzie@go.eat.some.screws.spammer.invalid>
Newsgroups: pl.comp.lang.perl
Subject: Re: perl - wyciąganie danych z bazy
Date: Fri, 11 Mar 2011 10:47:05 +0000 (UTC)
Organization: solani.org
Lines: 58
Message-ID: <ilcuj9$a89$4@solani.org>
References: <ilbcmq$57j$1@pippin.nask.net.pl> <20110310222645.6b8b4567@polsl.pl> <ilcmhb$1u3$1@pippin.nask.net.pl> <ilcnbj$l1v$1@solani.org> <ilcpfs$3bu$1@pippin.nask.net.pl>
Mime-Version: 1.0
X-Trace: solani.org 1299840425 10505 eJwFwYEBwCAIA7CXBCnFc2aF/09Ygp2WYiQyMJjALQa+pXl27IC9vUipGuhyt6SaUDxy3R8MMxCL (11 Mar 2011 10:47:05 GMT)
X-Complaints-To: abuse@news.solani.org
NNTP-Posting-Date: Fri, 11 Mar 2011 10:47:05 +0000 (UTC)
X-User-ID: eJwNyMkBwCAIBMCWENwVyokc/Zdg5jkwLubZBDcG09E+lbKyZ1nphH9M/CuiXV0Wdi9D1T0g5wE1+BFL
Cancel-Lock: sha1:dtKpAuipcJo9TJYOubXZKt6yLlQ=
User-Agent: slrn/pre0.9.9-111 (Linux)
X-NNTP-Posting-Host: eJwNyskBwCAMA7CVICW2O06OZv8RqN7yBxvFA8fx8WEMP7DUw8qtjowsy9ei0VomDf97cglmdQE8IxGc
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit