Bonjour,
Je souhaiterais récupérer 3 colonnes d'une bdd en sqlite, les mettre dans 3 tableaux (ou un seul) et afficher leurs valeurs ligne par ligne.
Par la suite je ferai une interface pour les afficher joliment via sans doute le module Tk.
C'est mon premier programme et j'ai quelques difficultés, voici mon code :
Seuls les champs de date s'affichent correctement. Les messages et sender ne sortent rien. Alors que quand je fais une requête simple pour seulement l'un de ces champs, tout s'affiche correctement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 use DBI; #connection to db... my $rowDate = "date"; my $rowText = "text"; my $rowFlags = "flags"; my $table = "message"; my (@dates, @messages, @sender); my $i = 0; my $sth = $dbh->prepare( "select $rowDate, $rowText, $rowFlags from $table" ); $sth->execute( ); while ( (@dates, @messages, @sender) = $sth->fetchrow_array ) { print "Date: "; print scalar(localtime($dates[i])); print ", Message: "; print $messages[i]; print ", Qui: "; print $sender[i]; print ".\n"; $i++; }
Etant débutant en Perl (je viens du C), je ne comprends pas quelle est l'erreur qui est sûrement ici : while ( (@dates, @messages, @sender) = $sth->fetchrow_array ) .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 while ( (@messages) = $sth->fetchrow_array ) { #print ", Message: "; print $messages[i]; #$i++; }
Pourriez-vous m'aider ?
Merci d'avance.
Partager