Bonjour à tous,

Je cherche à construire et afficher dans un navigateur un tableau dont les données seraient remplies à partir d'un résultat de requête sur ma base de donnée : en gros :
Voici mon code :

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
20
21
22
23
24
25
26
27
28
29
30
31
32
33
 
#!/usr/bin/perl -w
 
use CGI;
use DBI;
 
my $cgi = new CGI;
$db = "maBase";
$host = "localhost";
 
my $dbh = DBI->connect("DBI:mysql:database=$db;host=$host", "root", "")
    or die "connection failed";
 
$request = qq(select * from maTable);
$reqDocs = $dbh->prepare($request);
$reqDocs->execute or db_err("Unable to execute query", $dbh->errstr);
my @tablDocs;
 
$cgi->start_table({-border => '1'}),
  $cgi->Tr($cgi->th({-align => 'center'},'NomChamp1'),
           $cgi->td($cgi->th({-align => 'center'},'NomChamp2')),
           $cgi->td($cgi->th({-align => 'center'},'NomChamp3')),
           $cgi->td($cgi->th({-align => 'center'},'NomChamp4'))),
###################################################  
while(@tablDocs = $reqDocs->fetchrow_array){
 $cgi->Tr($cgi->th({-align => 'center'},'$tablDocs[0]'),
           $cgi->td($cgi->th({-align => 'center'},'$tablDocs[2]')),
           $cgi->td($cgi->th({-align => 'center'},'$tablDocs[3]')),
           $cgi->td($cgi->th({-align => 'center'},')$tablDocs[4]]')),
}
###################################################
           $cgi->end_table(),
 $cgi->end_html();
A l'endroit que j'ai repéré par les ###, je cherche donc à compléter le tableau avec les valeurs de la base de données.

Les connections avec la bdd se font bien (testées dans d'autres scripts) et j'arrive à récupérer les donnée par ailleurs.

Seulement, ici, impossible d'éxecuter ce code, la ligne débutant par le while renvoyant une erreur du type "syntaxe error". Cette ligne est pourtant correcte (fonctionne bien ailleurs).

Il semble alors qu'il ne soit pas possible d'écrire une ligne perl en plein milieu de la constrcution du tableau. Est-ce normal ? Peut-on écrire une ligne perl de ce type à cet endroit du code ?

Merci beaucoup d'avance pour vos suggestions !!