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

Bibliothèques et frameworks PHP Discussion :

[FPDF] Boucle for pour tableau.


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 24
    Points
    24
    Par défaut [FPDF] Boucle for pour tableau.
    Bonjour,

    Je vous explique mon problème : je dois convertir un formulaire d'une application web en PDF en reprenant les données de la BDD.

    Le problème c'est qu'au moment de remplir les champs avec les données que je récupère de la BDD, j'ai une erreur sur ma boucle for dans mon array (la syntaxe de base pour le tableau est reprise de l'exemple donné pour les tableaux simples sur ce site).

    Cela m'affiche cette erreur :

    Parse error: syntax error, unexpected 'for' (T_FOR), expecting ')' in C:\wamp\www\tableaubord\suivicommande.php on line 118
    J'ai regardé sur Internet et essayé beaucoup de syntaxes mais toujours des erreurs qui me bloquent tout.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Contenu du tableau.	
    $contenuTableau = array(
     
    	for($i = 0; $i < $ligne['nbcategorieprod']; $i++){
     
    		//Récupération des données des produits.
    		$retrouverInfosProduits = "SELECT nom, prixunitaire, quantite FROM PRODUIT WHERE id_cmd='IDCOMMANDE' AND id_prod='$i'";
    		$requeteRetrouverInfosProduits = mysqli_query($base,$retrouverInfosProduits);
    		$ligne2 = mysqli_fetch_assoc($requeteRetrouverInfosProduits);
     
    		"[C]".$ligne2['nom'], "[C]".ligne2['quantite'], "[C]".ligne2['prixunitaire'];
    	}
    );
    Sachant que IDCOMMANDE correpond à l'id de ma commande, dans cette requête je place l'ID en dur pour tester mais je ne préfère pas la rendre publique. Et sachant également que $ligne['nbcategorieprod'] faire référence à donnée d'une autre table qui, dans ce cas, renvoie 2.

    En gros je veux pour ce cas là que le tableau crée deux champs avec les infos récupérées de la BDD.

    Après il y a peut-être également un problème sur la syntaxe de la ligne 11 mais ça c'est secondaire, je peux le gérer plus tard.

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    elle est supposé faire quoi cette ligne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "[C]".$ligne2['nom'], "[C]".ligne2['quantite'], "[C]".ligne2['prixunitaire'];
    haaaaaaaaaaaaaaaaa je viens de comprendre ...
    tu essaye de rajouter des elements dans un array dans une boucle ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $contenuTableau = array()
     
    	for($i = 0; $i < $ligne['nbcategorieprod']; $i++){
     
    		//Récupération des données des produits.
    		$retrouverInfosProduits = "SELECT nom, prixunitaire, quantite FROM PRODUIT WHERE id_cmd='IDCOMMANDE' AND id_prod='$i'";
    		$requeteRetrouverInfosProduits = mysqli_query($base,$retrouverInfosProduits);
    		$ligne2 = mysqli_fetch_assoc($requeteRetrouverInfosProduits);
     
    		$contenuTableau[]="[C]".$ligne2['nom'], "[C]".ligne2['quantite'], "[C]".ligne2['prixunitaire'];
    	}
    );
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 24
    Points
    24
    Par défaut
    Elle est censée afficher au centre des cellules les infos que je récupère de ma table.

    J'ai testé ton code et j'ai toujours ce problème :

    Parse error: syntax error, unexpected 'for' (T_FOR), expecting ')' in C:\wamp\www\tableaubord\suivicommande.php on line 118

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 658
    Points
    66 658
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $contenuTableau = array();
     
    	for($i = 0; $i < $ligne['nbcategorieprod']; $i++){
     
    		//Récupération des données des produits.
    		$retrouverInfosProduits = "SELECT nom, prixunitaire, quantite FROM PRODUIT WHERE id_cmd='IDCOMMANDE' AND id_prod='$i'";
    		$requeteRetrouverInfosProduits = mysqli_query($base,$retrouverInfosProduits);
    		$ligne2 = mysqli_fetch_assoc($requeteRetrouverInfosProduits);
     
    		array_push($contenuTableau ,"[C]".$ligne2['nom'], "[C]".$ligne2['quantite'], "[C]".$ligne2['prixunitaire']);
    	}
    Accessoirement, au lieu de faire les requetes dans une boucle, il serait plus judicieux de faire une requete avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    WHERE id_cmd BETWEEN 0 and  $ligne['nbcategorieprod']
    et de boucler sur le résultat de requête


    [edit] oubli du premier paramètre qui doit être l'array dans lequel on push
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 50
    Points : 24
    Points
    24
    Par défaut
    Comme dit sur le chat, il faut rajouter la variable $contenuTableau au début du array_push (je le dis au cas où ça peut aider des personnes rencontrant le même problème que moi).

    Merci beaucoup SpaceFrog !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2016] Réaliser une boucle for pour une donnée qui apparaît plusieurs fois dans un tableau
    Par bangibess dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/02/2016, 16h26
  2. Boucle for pour découper un tableau
    Par jnacef dans le forum R
    Réponses: 0
    Dernier message: 15/05/2015, 17h32
  3. Boucle for pour afficher le tableau correctement
    Par hamzawhy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/03/2015, 16h37
  4. Réponses: 7
    Dernier message: 10/10/2007, 19h23
  5. Réponses: 2
    Dernier message: 29/08/2006, 13h59

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