Bonjour bonjour,
Mon problème est le suivant, j'effectue des requêtes sur des indicateurs qui sont sur des équipements.
Si la requête du premier indicateur d'un équipement me renvoi "" je passe alors à l'itération suivante.
Voici le code est espérant être assez clair.
Dans le cas classique on doit avoir quelque chose dans ce genre :
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 EXTERNE: for (my $i = 0 ; $i < scalar(@tableDate) ; $i++) { $sql = 'SELECT SUM(valeur) AS succattach FROM '.$tableDate[$i].' WHERE date_heure BETWEEN \''.$lundi.'\' AND \''.$dimanche.'\' AND ID_indicateur = '.$indicateursE[$j].''; my $reqSA = $dbh->prepare($sql); $reqSA->execute(); $j++; while (@val = $reqSA->fetchrow_array()) { if(defined $val[0]){ print "\nle champs existe\n"; if ($val[0] eq ''){ print "\nle champs est vide\n"; } else { print "\nle champs n'est pas vide\n"; } } else{ print "\nle champs n'existe pas\n"; next EXTERNE; } $succAttach = $val[0]; }
Dans le cas où la valeur de la requête = ""le champs existe
le champs n'est pas vide
On doit avoir ça
Et on doit passer à la l'itération suivante.le champs n'existe pas
le champs n'existe pas
le champs n'existe pas
Sauf que ça ne passe pas à l'itération suivante...
Pour info :
Dans ma base, la requête me renvoi null
$val[0] me renvoi "" (vide, sans les doubles quotes)
Une idée ?
Merci d'avance
Partager