j'ai un code existant qui effetue une requ=EAte puis met les resultats
en liste et cr=E9=E9 un select/option html:
my @categories;
my @categoriesid;
my $data;
my $db_query =3D "SELECT catName,catNum FROM Categories ORDER by
catName";
$dbh=3D$db->prepare($db_query);
$dbh->execute();
while (($data,$numid)=3D$dbh->fetchrow_array()) {
push (@categories, $data);
}
my $categorylist;
my $i;
my $j;
my @categories_to_print;
my $category;
my $thename;
On Fri, 21 Oct 2005 08:59:17 +0200, lolodev wrote:
Je cherche désespérement à introduire l'id catNum à la place du libellé catname dans l'attribut VALUE de OPTION ...???
Les parties importantes:
# On prend toute la liste d'un coup, on option une ref à un tableau de refs de hash my $categories = $dbh->selectall_arrayref($db_query,{Slice=>{}}) || []; # On fait tout d'un coup $categorylist .= join "",map {qq[<OPTION VALUE="$_->{catNum}">$_->{catName}</OPTION>]} values map {$_->{catName} =~ /^([^:]+):/?($1 => {catName=> $1, catNum=>$_->{catNum}}):($_->{catName} => $_)} @$categories;
Pas testé, mais on ne doit pas être très loin... J'ai pas forcément compris la logique des deux boucles $i et $j imbriquées à la fin, ceci dit.
Jacques. -- Oxado http://www.oxado.com/
Salut,
On Fri, 21 Oct 2005 08:59:17 +0200, lolodev <laurent.hermann@citinet.fr>
wrote:
Je cherche désespérement à introduire l'id catNum à la place du
libellé catname dans l'attribut VALUE de OPTION ...???
Les parties importantes:
# On prend toute la liste d'un coup, on option une ref à un tableau de
refs de hash
my $categories = $dbh->selectall_arrayref($db_query,{Slice=>{}}) || [];
# On fait tout d'un coup
$categorylist .= join "",map
{qq[<OPTION VALUE="$_->{catNum}">$_->{catName}</OPTION>]}
values map
{$_->{catName} =~ /^([^:]+):/?($1 => {catName=> $1,
catNum=>$_->{catNum}}):($_->{catName} => $_)}
@$categories;
Pas testé, mais on ne doit pas être très loin... J'ai pas forcément
compris la logique des deux boucles $i et $j imbriquées à la fin, ceci dit.
On Fri, 21 Oct 2005 08:59:17 +0200, lolodev wrote:
Je cherche désespérement à introduire l'id catNum à la place du libellé catname dans l'attribut VALUE de OPTION ...???
Les parties importantes:
# On prend toute la liste d'un coup, on option une ref à un tableau de refs de hash my $categories = $dbh->selectall_arrayref($db_query,{Slice=>{}}) || []; # On fait tout d'un coup $categorylist .= join "",map {qq[<OPTION VALUE="$_->{catNum}">$_->{catName}</OPTION>]} values map {$_->{catName} =~ /^([^:]+):/?($1 => {catName=> $1, catNum=>$_->{catNum}}):($_->{catName} => $_)} @$categories;
Pas testé, mais on ne doit pas être très loin... J'ai pas forcément compris la logique des deux boucles $i et $j imbriquées à la fin, ceci dit.
Jacques. -- Oxado http://www.oxado.com/
lolodev
merci mais oupsss!!
qu'est ce que je galére ... y a une erreur dans $categorylist .= join "",map {qq[<OPTION VALUE="$_->{catNum}">$_->{catName}</OPTION>]} values map {$_->{catName} =~ /^([^:]+):/?($1 => {catName=> $1, catNum=>$_->{catNum}}):($_->{catName} => $_)} @$categories;
mais ...
merci mais oupsss!!
qu'est ce que je galére ...
y a une erreur dans
$categorylist .= join "",map
{qq[<OPTION VALUE="$_->{catNum}">$_->{catName}</OPTION>]}
values map
{$_->{catName} =~ /^([^:]+):/?($1 => {catName=> $1,
catNum=>$_->{catNum}}):($_->{catName} => $_)}
@$categories;
qu'est ce que je galére ... y a une erreur dans $categorylist .= join "",map {qq[<OPTION VALUE="$_->{catNum}">$_->{catName}</OPTION>]} values map {$_->{catName} =~ /^([^:]+):/?($1 => {catName=> $1, catNum=>$_->{catNum}}):($_->{catName} => $_)} @$categories;
mais ...
lolodev
Can't declare array dereference in my at /home/eupholis_v2/cgi-bin/search.pl lin
e 370, near "$categories;" Type of arg 1 to values must be hash (not map) at /home/eupholis_v2/cgi-bin/sear ch.pl line 394, near "$categories;" Execution of /home/eupholis_v2/cgi-bin/search.pl aborted due to compilation erro rs.
Can't declare array dereference in my at
/home/eupholis_v2/cgi-bin/search.pl lin
e 370, near "$categories;"
Type of arg 1 to values must be hash (not map) at /home/eupholis_v2/cgi-bin/sear
ch.pl line 394, near "$categories;"
Execution of /home/eupholis_v2/cgi-bin/search.pl aborted due to compilation erro
rs.
Can't declare array dereference in my at /home/eupholis_v2/cgi-bin/search.pl lin
e 370, near "$categories;" Type of arg 1 to values must be hash (not map) at /home/eupholis_v2/cgi-bin/sear ch.pl line 394, near "$categories;" Execution of /home/eupholis_v2/cgi-bin/search.pl aborted due to compilation erro rs.
lolodev
Can't declare array dereference in my at /home/eupholis_v2/cgi-bin/search.pl line 370, near "$categories;" Type of arg 1 to values must be hash (not map) at /home/eupholis_v2/cgi-bin/search.pl line 394, near "$categories;" Execution of /home/eupholis_v2/cgi-bin/search.pl aborted due to compilation errors.
Can't declare array dereference in my at
/home/eupholis_v2/cgi-bin/search.pl line 370, near "$categories;"
Type of arg 1 to values must be hash (not map) at
/home/eupholis_v2/cgi-bin/search.pl line 394, near "$categories;"
Execution of /home/eupholis_v2/cgi-bin/search.pl aborted due to
compilation errors.
Can't declare array dereference in my at /home/eupholis_v2/cgi-bin/search.pl line 370, near "$categories;" Type of arg 1 to values must be hash (not map) at /home/eupholis_v2/cgi-bin/search.pl line 394, near "$categories;" Execution of /home/eupholis_v2/cgi-bin/search.pl aborted due to compilation errors.
Jacques Caron
Salut,
On Fri, 21 Oct 2005 11:00:38 +0200, lolodev wrote:
y a une erreur dans $categorylist .= join "",map {qq[<OPTION VALUE="$_->{catNum}">$_->{catName}</OPTION>]} values map {$_->{catName} =~ /^([^:]+):/?($1 => {catName=> $1, catNum=>$_->{catNum}}):($_->{catName} => $_)} @$categories;
Alors (toujours pas testé, mais ça devrait mieux marcher, et au moins ça découpe les différentes étapes, donc ça aide pour le débug):
Sinon en une seule étape en ajoutant un %{{ ... }} autour du deuxième map ça devrait le faire, mais ce n'est pas forcément super lisible.
Par contre pour l'autre erreur je ne vois pas vraiment, mais je ne sais pas à quelle ligne de code ça correspond...
Jacques. -- Oxado http://www.oxado.com/
lolodev
YES ça marche super ! merci
histoire d'abuser ... (j'ai du mal pour demarrer avec PERL)
j'essaie de reprendre ce code pour afficher catName sur 2 colonnes de tableau html en fct de la moitié des elements retournés par %cathash !?? non plus un select/option ou dans ce code je peux recupérer le nombre d'elements et faire une division / 2 ...
merci :))
YES ça marche super ! merci
histoire d'abuser ...
(j'ai du mal pour demarrer avec PERL)
j'essaie de reprendre ce code pour afficher catName sur 2 colonnes de
tableau html en fct de la moitié des elements retournés par %cathash
!?? non plus un select/option
ou dans ce code je peux recupérer le nombre d'elements et faire une
division / 2 ...
histoire d'abuser ... (j'ai du mal pour demarrer avec PERL)
j'essaie de reprendre ce code pour afficher catName sur 2 colonnes de tableau html en fct de la moitié des elements retournés par %cathash !?? non plus un select/option ou dans ce code je peux recupérer le nombre d'elements et faire une division / 2 ...
merci :))
lolodev
où dois je mettre une commande sort() pour faire un tri alpha du resultat ?
où dois je mettre une commande sort() pour faire un tri alpha du
resultat ?
où dois je mettre une commande sort() pour faire un tri alpha du resultat ?
Jacques Caron
Salut, On Mon, 24 Oct 2005 17:50:37 +0200, lolodev wrote:
j'essaie de reprendre ce code pour afficher catName sur 2 colonnes de tableau html en fct de la moitié des elements retournés par %cathash !?? non plus un select/option ou dans ce code je peux recupérer le nombre d'elements et faire une division / 2 ...
Tu veux faire deux colonnes de catnames, c'est ça?
A vue de nez:
my @catnames = map {$_->{catName}} values %cathash; my $half; { use integer; $half =(scalar @catnames + 1) / 2; } print join "",map {"<TR><TD>$catnames[$_]</TD><TD>".($catnames[$_+$half]||"")."</TD></TR>"} (0 .. ($half-1));
Pas testé...
Jacques. -- Oxado http://www.oxado.com/
Salut,
On Mon, 24 Oct 2005 17:50:37 +0200, lolodev <laurent.hermann@citinet.fr>
wrote:
j'essaie de reprendre ce code pour afficher catName sur 2 colonnes de
tableau html en fct de la moitié des elements retournés par %cathash
!?? non plus un select/option
ou dans ce code je peux recupérer le nombre d'elements et faire une
division / 2 ...
Tu veux faire deux colonnes de catnames, c'est ça?
A vue de nez:
my @catnames = map {$_->{catName}} values %cathash;
my $half;
{
use integer;
$half =(scalar @catnames + 1) / 2;
}
print join "",map
{"<TR><TD>$catnames[$_]</TD><TD>".($catnames[$_+$half]||"")."</TD></TR>"}
(0 .. ($half-1));
Salut, On Mon, 24 Oct 2005 17:50:37 +0200, lolodev wrote:
j'essaie de reprendre ce code pour afficher catName sur 2 colonnes de tableau html en fct de la moitié des elements retournés par %cathash !?? non plus un select/option ou dans ce code je peux recupérer le nombre d'elements et faire une division / 2 ...
Tu veux faire deux colonnes de catnames, c'est ça?
A vue de nez:
my @catnames = map {$_->{catName}} values %cathash; my $half; { use integer; $half =(scalar @catnames + 1) / 2; } print join "",map {"<TR><TD>$catnames[$_]</TD><TD>".($catnames[$_+$half]||"")."</TD></TR>"} (0 .. ($half-1));
Pas testé...
Jacques. -- Oxado http://www.oxado.com/
Jacques Caron
On Mon, 24 Oct 2005 18:03:52 +0200, lolodev wrote:
où dois je mettre une commande sort() pour faire un tri alpha du resultat ?
Juste avant le values %cathash:
sort {$a->{catName} cmp $b->{catName}}
Jacques. -- Oxado http://www.oxado.com/
On Mon, 24 Oct 2005 18:03:52 +0200, lolodev <laurent.hermann@citinet.fr>
wrote:
où dois je mettre une commande sort() pour faire un tri alpha du
resultat ?
On Mon, 24 Oct 2005 18:03:52 +0200, lolodev wrote:
où dois je mettre une commande sort() pour faire un tri alpha du resultat ?
Juste avant le values %cathash:
sort {$a->{catName} cmp $b->{catName}}
Jacques. -- Oxado http://www.oxado.com/
lolodev
ooppss
j'y suis presque ... j'ai réussi à faire fcter ce code!!
sauf que je n'ai pas l'id catnum ... dans chaque <td>, je souhaiterai <td><a hrefÊtnum>cartname</a></td><td><a hrefÊtnum>catname</td> avec la moitie de catname par colonne. du coup je perds le lien tableau avec catnum ...
je ne sais pas comment vous remercier ...
ooppss
j'y suis presque ...
j'ai réussi à faire fcter ce code!!
sauf que je n'ai pas l'id catnum ...
dans chaque <td>, je souhaiterai <td><a
href=catnum>cartname</a></td><td><a href=catnum>catname</td>
avec la moitie de catname par colonne.
du coup je perds le lien tableau avec catnum ...
j'y suis presque ... j'ai réussi à faire fcter ce code!!
sauf que je n'ai pas l'id catnum ... dans chaque <td>, je souhaiterai <td><a hrefÊtnum>cartname</a></td><td><a hrefÊtnum>catname</td> avec la moitie de catname par colonne. du coup je perds le lien tableau avec catnum ...