SELECT avec une boucle for : perdu dans la syntaxe
Bonjour ou plutôt bonsoir cela fait des heures que je cherche en vain : au secours!
Je fais une requête sur 2 tables pour afficher un rapport d'essai de machine en pdf.
Les sections de mon rapport sont contenues dans un tableau $seq_essais_array= array("HT","ST","elec","Finition"); (Elles peuvent varier en fonction de la machine)
J'ai fais une boucle for pour balayer ce tableau et l'utiliser dans une requête sql afin de récupérer tous les champs contenant HT, puis ST...
La syntaxe de la requête est un peu compliqué.
Voici l'extrait du code :
Code:
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
| $mach_of='T456789';
$seq_essais_array=array("HT","ST","elec","Finition");
for ($i=0 ; $i < sizeof($seq_essais_array) ; $i++)
{
// Préparation de la requête BDD pour les sections du rapport pdf
echo "<br/>".$seq_essais_array[$i];// Test affiche bien le contenu HT, ST, Elec, Finition
$sql = "SELECT resultats.question, ".$_SESSION['modele'].".controle, ".$_SESSION['modele'].".moyen, ".$_SESSION['modele'].".critere,resultats.reponse, resultats.controleur ";
$sql .= "FROM resultats, wsb5 ";
$sql .= "WHERE resultats.num_of='".$mach_of."' ";
$sql .= "AND resultats.une_sequence='".$seq_essais_array[$i]."' ";
$sql .= "AND resultats.une_sequence=wsb5.opt ";
$sql .= "AND resultats.question=wsb5.num ";
$sql .= "ORDER BY resultats.question ";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$title = "Contrôle ".$seq_essais_array[$i]; // les titres s'affiche bien avec le contenu HT, ST, Elec, Finition
$data=array();
While ($uneLigne=mysql_fetch_array($req,MYSQL_ASSOC))
{
array_push($data,$uneLigne);
}
$pdf->ezTable($data,$cols,$title,$options);
}
// Affichage du pdf
$pdf->ezStream();
?> |
A la 4ème ligne de ma requête sql : $sql .= "AND resultats.une_sequence='".$seq_essais_array[$i]."' "; j'obtiens une boucle infinie.
Si je remplace par $sql .= "AND resultats.une_sequence='".$seq_essais_array[0]."' "; j'obtiens l'affichage mais que des valeurs concernant la section HT bien sûr. Le titre $title lui réagit bien aux itérations.
Avez vous une idée? est ce que je me plante dans la syntaxe des variables car les '". je ne sais plus très bien après tous mes essais.
A vous lire. Merci