tableau associatif multidimensionel - Perl - Programmation
Marsh Posté le 03-11-2006 à 08:24:01
Bon. pour être plus claire, voici mon bout de code :
while ($data = $sth->fetchrow_hashref()) {
$nb_liens++;
# test url
$etat = &check_url($data->{'url'});
if ($etat eq "ok" ){
$nb_ok++;
} else {
push(@bad, $data->{'site_id'});
push @{ $tab_bad[$data->{'site_id'}] }, $data->{'lien_nom'}, $data->{'url'}; ##### ET LA CA MARCHE PAS
$nb_bad++;
}
}
et appelle du tableau :
foreach $id (@bad) {
$list_l = '';
foreach $t ($tab_bad[$id]){
$list_l .= "$lname - $lurl \n"; ###### ET LA NON PLUS FORCEMENT
}
}
Marsh Posté le 05-11-2006 à 23:56:36
Il ne faut pas confondre table de hash et tableau
Code :
|
J'ai pas teste... J'avais la fleme, a une ou deux erreurs de syntaxe ca doit etre bon.
Marsh Posté le 14-11-2006 à 11:56:49
en fait j'ai mis % à la place de $ pour site_list et h
Sans ça, j'avais qu'un seul lien même pour les sites ayant plusieurs liens faux.
Avec ça, le problème est que ça liste tous les liens faux à chaque site.
j'ai mis $list_l = ''; avant le "for my $id" mais ça ne change rien.
moi je cherche à lister uniquement, mais tous, les liens faux à chaque site.
si qqun voit d'où ça vient...
Marsh Posté le 02-11-2006 à 14:04:39
bonjour tous,
les hash et autres tableaux, ça commence à me rendre
je récupère des données d'une base mysql et je veux construire un tableau qui sera :
%tab[site][lien]=[nom, url]
et ensuite lire en faisant une boucle genre pour lister tous les lien->url de chaque site
for $i (1 .. 10) {
while(($key, $val) = each(%tab[$i])){
print "$key, $val";
}
}
mais bon voilà, je suis perdu dans un monde multidimensionel d'associations de hash et tableaux
Comment ajouter à %tab[db->site] le tableau %tab2[db2->lien] contenant lui-même le tableau %lien = (nom, url)
Je pense à séparer en un tableau contenant tous les "lien" par site tab[site]=lien
puis un autre tab2[lien]=[nom, url]
si je peux avoir un coup de main...