IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Boucle dans un sprintf


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Par défaut Boucle dans un sprintf
    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

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    Bonjour,

    Vu ton code, j'ai l'impression que tu insère les données, avant de leur attribué la valeur. Il vaudrais mieux mettre ton printf dans la seconde boucle.

    Yasen

  3. #3
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 2
    Par défaut
    yasen77 -> Oui, mais si je fais ça, inclure le sprintf dans la seconde boucle, il y aura un problème au niveau des attributions des valeurs pour chaque champ, puisque là on aura répété 9 fois le premier argument du sprintf. Non ?

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2007
    Messages : 194
    Par défaut
    Exact, et si tu met ton $insertSQL après ta 2eme boucle, cela te donne quoi?

    Yasen

Discussions similaires

  1. [Tableaux] Boucle dans un tableau
    Par apprenti-fab dans le forum Langage
    Réponses: 9
    Dernier message: 24/04/2006, 11h14
  2. [Tableaux] Boucle dans une boucle
    Par spawns dans le forum Langage
    Réponses: 2
    Dernier message: 12/02/2006, 14h11
  3. [SQL] LIKE dans un sprintf ...
    Par banzaii dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 23/11/2005, 17h57
  4. Creer une boucle dans une requête ???
    Par fdloisel dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/10/2004, 15h05
  5. Notion de boucles dans Business Object
    Par lionelEIGIP dans le forum Deski
    Réponses: 1
    Dernier message: 08/04/2004, 12h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo