Bonjour à tous,
j'ai actuellement un soucis avec ma boucle For et des requêtes SQL.
J'explique mon problème:
- j'ai un tableau avec dans chaque case des valeurs (qui sont des id)
- je compte le nombre de valeur dans ce tableau
Par exemple j'en ai 4, jusque là je n'ai pas de problème.
je fais donc une boucle for pour partir de 0 jusqu'à la valeur max (4 dans mon exemple).
J'aimerai que dans ma boucle for il y ait à chaque fois une requete SQL avec comme valeur dans mon WHERE la valeur du tableau où en est la boucle.
Je ne sais pas si je me suis bien exprimé donc voici un exemple.
Lorsque mon For est à 0: je voudrais que ma requête SQL prenne en compte le tableau[0] pour mon WHERE.
Lorsque mon For est à 1: je voudrais que ma requête SQL prenne en compte le tableau[1] WHERE.
etc etc ...
Seul hic, c'est que mon for ne prend en compte que la première valeur du tableau et zappe les suivantes.
Voici le bout de code que j'ai fait:
Pour info: Je suis sous Ms-Sql sur un serveur virtuel. Mes requêtes fonctionnent correctement.
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 $articles = explode ("/", $_COOKIE['pbwebdevis']); //On explose le cookie $result = count($articles); //On compte combien il y a d'articles echo "<br />"; echo "<table>\n"; echo "<tr>\n"; echo '<td id="tableCheck"></td><td id="tableReference">Référence</td><td id="tableNom">Nom</td><td id="tablePrix">Prix</td>'; echo "</tr>\n"; $i=0; for ($i = 0; $i < $result; $i++) //Boucle pour afficher le contenu du cookie/devis { $art = substr($articles[$i], 1, 6); //Requete sql pour afficher les informations de chaque article ajouté dans le panier $sql_article = "SELECT Ref_Constructeur, Nom_Produit, Prix_Vente_Euro FROM Produit WHERE Ref_Constructeur='".$art."'"; echo $sql_article; echo "<br />"; echo $art; echo "<br />"; $envoi_article = sqlsrv_query($connection, $sql_article); $article = sqlsrv_fetch_array( $envoi_article, SQLSRV_FETCH_ASSOC); echo "<tr>"; echo "<td><input type=\"checkbox\" name=\"sup\" /></td>"; echo "<td>".$article['Nom_Produit']."</td>"; echo "<td>".round($article['Prix_Vente_Euro'], 2)." €</td>"; echo "</tr>"; } echo "</table>";
Merci d'avance de votre aide.
Partager