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

PHP & Base de données Discussion :

FORMULAIRE avec 2 foreach imbriquer


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut FORMULAIRE avec 2 foreach imbriquer
    Bonjour,

    alors en faite je veut afficher sur une page un formulaire avec les categories de ma base et j'ai rajouter a coter une cache a cocher en face de chaque categorie (piece jointe).

    Je fait donc une boucle pour afficher les catégories aucun pb ca marche.

    cela se complique quand je veux que quand un membre clique sur modifier il retombe sur le meme formulaire avec ces choix qui ont etait enregistrer dans la table participer .

    et cela que rien ne va car je recuperer donc un tbaleau contenant le valeurs qu'il a selectionner mais quand je fait ceci il me recopier la liste plusieur fois exemple en image.

    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
    27
    28
    29
    30
    <?php
    ...
    $i = 0;	
    	..
    		$ItemListeCategorieCentre=$managerMembreCentre->getListCentreByMembre($_SESSION['id_membre']);
    		foreach($ItemListeCategorieCentre as $ListCentreId)
    		{
    			$RefCentreAChercher = $ListCentreId->getIdCategorie();
     
     
    				foreach($managerCategorie->getListeSousCategorieByIdActiver($ItemListeCategorie->getIdCategorie()) as $infosC) 
    				{
     
    					$selected = ($RefCentreAChercher == $infosC->getIdCategorie()) ? " CHECKED" : null;
     
    					if ($i%3 == 0) 
    					{
    						$body.='
    
    	<tr>
    	</tr>';
    					}
    					$body.='<td><input type="checkbox" name="ref_centre[]" id="ref_centre[]" value=\"'.$infosC->getIdCategorie().'\"'. $selected .'" /></td><td>'. $infosC->getTitreCategorie().'</td>';
     
    					$i++;
    				}
    			}
     
    	..
    ..?>
    Merci.
    Images attachées Images attachées  

  2. #2
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    si j'ai bien compris ton code change juste ca et cela devrai marcher (sinon j'ai rien compris )

    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
    27
    28
    29
    <?php
    ...
    $i = 0;	
    	..
    		$ItemListeCategorieCentre=$managerMembreCentre->getListCentreByMembre($_SESSION['id_membre']);
    		foreach($ItemListeCategorieCentre as $ListCentreId)
    		{
    			$RefCentreAChercher = $ListCentreId->getIdCategorie();
     
     
    				foreach($managerCategorie->getListeSousCategorieByIdActiver($ItemListeCategorie->getIdCategorie()) as $infosC) 
    				{ 
                                            if($RefCentreAChercher == $infosC->getIdCategorie())
                                            {
     
    					      $selected = ($RefCentreAChercher == $infosC->getIdCategorie()) ? " CHECKED" : null;
     
    					      if ($i%3 == 0) 
    					      {
    						      $body.='<tr></tr>';
    					      }
    					      $body.='<td><input type="checkbox" name="ref_centre[]" id="ref_centre[]" value=\"'.$infosC->getIdCategorie().'\"'. $selected .'" /></td><td>'. $infosC->getTitreCategorie().'</td>';
                                            }
    					$i++;
    				}
    			}
     
    	..
    ..?>
    pour "}" de la ligne 23 je ne suis pas sur mais je pense qu'elle est bien placé sinon met la après le "$i++".

    en espérant t'avoir aidé

  3. #3
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    Bonjour,

    j'obtiens maintenant les catégories que le membre avait déjà cocher de la liste mais les autres catégories de la liste ne s'affiche plus.

    exemple en image.

    Ma 1 boucle sert a récupérer la liste des catégories, et la seconde a cocher les catégories qu'a déjà cocher le membre et qui avait été enregistrer dans le bdd sur cette liste de categorie.

    getListeSousCategorieByIdActiver = recupere les sous categories activer.

    sur la 2 image j'ai ma liste entiere mais elle est repeter 3 fois comme le nombre de case a cocher.

    merci de te pencher sur mon probléme.
    Images attachées Images attachées   

  4. #4
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,
    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
    27
    28
    <?php
    ...
    $i = 0;	
    	..
    		$ItemListeCategorieCentre=$managerMembreCentre->getListCentreByMembre($_SESSION['id_membre']);
    		foreach($ItemListeCategorieCentre as $ListCentreId)
    		{
    			$RefCentreAChercher = $ListCentreId->getIdCategorie();
     
     
    				foreach($managerCategorie->getListeSousCategorieByIdActiver($RefCentreAChercher) as $infosC) 
    				{ 
     
     
    					      $selected = ($RefCentreAChercher == $infosC->getIdCategorie()) ? " CHECKED" : null;
     
    					      if ($i%3 == 0) 
    					      {
    						      $body.='<tr></tr>';
    					      }
    					      $body.='<td><input type="checkbox" name="ref_centre[]" id="ref_centre[]" value=\"'.$infosC->getIdCategorie().'\"'. $selected .'" /></td><td>'. $infosC->getTitreCategorie().'</td>';
                                            }
    					$i++;
     
    			}
     
    	..
    ..?>
    j'y vais un peu à l'aveuglette lol mais c'est possible que ca marche désolé de ne pas faire mieux.

    Le mieux explique moi ce que retourne ceci:

    $ItemListeCategorieCentre : ?
    $RefCentreAChercher : ?
    $managerCategorie : ?

  5. #5
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    franchemment merci de ton aide, ca n'a pas marcher mais je suis contente si quelqu'un peu tm'aider.

    alors pour les fonctions:


    $ItemListeCategorieCentre = recuperer un tableau des sous categories de la table categorie telle que dans l image.


    $RefCentreAChercher = recuperer l id des categories selectionner par le membre dans une table participer qui reunit la table categorie a la table membre.

    $managerCategorie = me permet d utiliser les fonction php5 de cette class.

    merci de ton aide.

  6. #6
    Membre expérimenté Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Par défaut
    Bonjour,

    donc une catégorie est par exemple loisir et une sous catégorie est par exemple cinéma.

    donc ta première boucle permet de connaitre toutes les catégories et la seconde toutes les sous catégories par catégories c'est bien ca?

    Si c'est ca je ne vois pas le lien entre tes 2 boucles dans ce que tu as fait.

    Pourrais tu me faire un print_r($ItemListeCategorieCentre) juste avant la ligne 6 et un print_r($managerCategorie->getListeSousCategorieByIdActiver($ItemListeCategorie->getIdCategorie())) à la ligne 9 stp

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

Discussions similaires

  1. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  2. récup champs dynamiques avec foreach imbriqué
    Par nicomax34 dans le forum Langage
    Réponses: 2
    Dernier message: 10/09/2010, 11h53
  3. verifier formulaire avec une boucle "foreach"
    Par sardo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 28/03/2007, 12h15
  4. Réponses: 2
    Dernier message: 24/10/2006, 12h42
  5. problème avec une requête imbriquée
    Par jaimepasteevy dans le forum Langage SQL
    Réponses: 13
    Dernier message: 05/12/2003, 10h29

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