Bonjour,
je débute en perl et j'ai quelques soucis pour utiliser les listes...
Je souhaiterai remplir une liste de listes à partir de requetes sql puis la trier selon la valeur de l'indice n des listes...
Concretement, voici le tableau que je souhaite générer plus tard à l'affichage :
Nom commercial | nb vente semaine 24 | nb vente semaine 25 | nb vente semaine 26 |
Et je souhaiterai que le tableau soit trié sur les ventes de la semaine 26 (descendant)
Exemple :
machin | 100 | 30 | 100 |
bidule | 20 | 150 | 90
...etc
De plus le nombre de ventes n'est pas présent directement en base de données (mais bon ça c'est pas grave)
Voila ce que j'essaie de faire :
ça ne doit surement pas être ça mais qu'en pensez vous(c'est mon premier script perl
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
34
35
36
37
38 $query="select nom from vendeur"; my $sth = $dbh->prepare($query); $sth->execute; my @res=($sth->fetchall_arrayref({})); #la liste contenant les autres listes my @liste; #pour chaque nom de vendeur je recupere ses différents nombres de ventes et je mets le tout dans une liste associative my $i=0; foreach my $nom (@res) { my %ligne; #je renseigne chaque case de la ligne en commençant par le nom $ligne{"nom"}=$nom; #requete pour chaque case de la ligne $query2="select sum(id_vente) from vente where semaine=\"24\" and nom=$nom->nom"; my $sth2=$dbh->prepare($query2); $sth2->execute; @temp=$sth->fetchrow_array; $ligne{"s1"}= $temp[0]; $query3="select sum(id_vente) from vente where semaine=\"25\" and nom=$nom->nom"; my $sth3=$dbh->prepare($query3); $sth3->execute; @temp2=$sth->fetchrow_array; $ligne{"s2"}= $temp2[0]; #...etc... #puis j'ajoute une ligne à ma liste principale : $liste[$i] = %ligne; $i++; } # et ensuite je trie cette liste pour que ça commence par la ligne ou sum(id_vente) de s25 est la plus élevée @listeAffichage=sort({$tableau[2]<=>$tableau[2]}@liste);)? (si j'ai réussi à bien m'expliquer...
)
Merci pour vos conseils et critiques!
Partager