Salut à tous,

J'ai un petit problème de syntaxe je pense.
Mon but est d'envoyer 19 lignes d'enregistrements à la fois dans une table ('produits').
Préalablement, j'ai créé
- un tableau de valeurs en 2 dimensions ('TableauProduits') de 19 lignes sur 9 colonnes ;
- un second tableau en 1 dimension pour définir le type des valeurs ('TableauType') à savoir si c'est un entier, un double, un text ... de 1 ligne sur 9 colonnes.

Mon but est donc de créer un tableau final de 19 lignes permettant d'inclure les commandes d'enregistrement, que je nomme ('insertSQL').

Or, php n'accepte pas la seconde boucle (celle des colonnes). J'ai essayé tout ce que je sais à mon triste niveau (parenthèses, crochets, accolades), mais non, il ne veut pas. Sur le net, malgré des mots clefs pertinents il me semble, rien non plus.

Donc ma question est : Comment inclure une boucle 'for' dans un 'sprintf' ?

Le code source est le suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
$insertSQL = array ();  ##Déclaration du tableau des enregistrements
for ($x=0; $x<19; $x++) ## Boucle pour les lignes
   {
   $insertSQL [$x] = sprintf("INSERT INTO produits (IDProduits, ClasseAProduits, ClasseBProduits, ClasseCProduits, LibProduits, CptProduits, JrnlProduits, PxUnHTProduits, EcoPrtProduits) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
         for ($y=0; $y<9; $y++) ## Boucle pour les colonnes
         {
	    GetSQLValueString($TableauProduits [$x][$y], $TableauType [$y]; ## Attribution de la valeur correspondant au champ 
	 }
}
Je pense que la solution est toute bête, mais là, j'avoue ... j'vois pas lol

Merci pour vos réponses