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 :

Récupération de deux valeurs dans une boucle [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut Récupération de deux valeurs dans une boucle
    Bonjour à toutes et à tous,

    Je suis désolé si la question a déjà été posée à plusieurs reprises sur le forum mais je n'arrive pas à solutionner un problème certainement très simple pour vous.

    L'objectif :
    - Récupérer une liste de nom de constructeur de depuis une table de notre base de données
    - Afficher cette liste dans un formulaire
    - Si l'utilisateur souhaite modifier un ou plusieurs noms, il lui suffit de modifier la ou les valeur(s) directement dans le formulaire, puis cocher une ou plusieurs checkbox.
    - Enfin on effectue un traitement par lot à l'ensemble des lignes cochées ou l'on met à jour dans notre base de données les noms modifiés par l'utilisateur.

    Exemple visuel :
    Nom : liste-constructeur.png
Affichages : 111
Taille : 16,8 Ko

    Mon problème est que j'arrive bien à récupérer la valeur de ma checkbox (qui contient l'identifiant de mon constructeur
    mais je n'arrive pas à récupérer le nouveau nom

    mon code pour le formulaire
    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
     
    <form method ="post">
    	<?php	
    			$RequeteSelectionConstructeurImprimante = mysqli_query($connexion, "SELECT * FROM ConstructeurImprimante");
    			while ($TableauListeConstructeur = mysqli_fetch_array($RequeteSelectionConstructeurImprimante, MYSQLI_BOTH)) {
    				echo '
    						<input type="text" name="FormNomConstructeur" value="' . $TableauListeConstructeur['NomConstructeur'] . '" />
    						<input type="checkbox" name="Selection[]" value="' . $TableauListeConstructeur['IDConstructeur'] . '" />';
    			}
    	?>
    	<select name="SelectionTypeModification">
    		<option value="0"></option>
    		<option value="1">Modifier</option>
    	</select>
    	<input type="submit" name="Valider" value="Valider"/>
    </form>

    pour la vérification de la valeur de la checkbox :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if ($_POST['SelectionTypeModification'] == 1) {
     
    			foreach ($_POST['Selection'] as $key => $IDConstructeurAModifier) {
    				echo "l'indentifiant du nom à modifier est l'id $IDConstructeurAModifier <br>";
    			}
    	}
    Je souhaiterais faire une mise à jour du type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE ConstructeurImprimante SET NomConstructeur = '$NouveauNomConstructeur' WHERE IDConstructeur = '$IDConstructeurAModifier'
    Je suis un débutant en Php et Mysql veuillez m'excuser si mon code contient beaucoup d'erreurs

    Merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tous tes champs constructeurs ont le même name.
    Indexe les avec l'id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while ($row = mysqli_fetch_array($RequeteSelectionConstructeurImprimante, MYSQLI_BOTH)) {
    				echo '
    						<input type="text" name="NomConstructeur[' . $row['IDConstructeur'] . ']" value="' . $row['NomConstructeur'] . '" />
    						<input type="checkbox" name="Selection[]" value="' . $row['IDConstructeur'] . '" />';
    			}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($_POST['Selection'] as $id) {
           echo $_POST['NomConstructeur'][$id];     
    }
    Au passage "TableauListeConstructeur" c'est exageré comme nom pour une variable qu'on utilise une fois immédiatement en dessous.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut
    Merci Sabotage tu as réussi à résoudre mon probleme en 0.01 seconde alors que j'y ai passé 3 jour

    Si ce n'est pas trop demander pourrais tu m’éclairer sur ce que tu as fait (genre me le traduire dans un langage "pour les nuls")
    afin que je ne fasse plus l'erreur à l'avenir.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    J'ai seulement mis l'id entre les crochets. Si tu regardes ton code HTML tu verras name="NomConstructeur[7]" par exemple

    On peut ainsi avoir la valeur correspondant à l'id : $_POST['NomConstructeur'][7]
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Avril 2013
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Avril 2013
    Messages : 3
    Par défaut
    Merci Sabotage je passe le sujet en résolu

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

Discussions similaires

  1. alterner 2 valeurs dans une boucle while
    Par harlock59 dans le forum Langage
    Réponses: 6
    Dernier message: 10/04/2007, 11h58
  2. récupération de deux valeurs dans une seule checkbox
    Par khayri dans le forum Struts 1
    Réponses: 2
    Dernier message: 10/04/2007, 10h31
  3. Réponses: 2
    Dernier message: 14/07/2006, 18h37
  4. [xsl-fo] Recuperation de valeurs dans une boucle
    Par serwol dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 12/12/2005, 12h13
  5. [FLASH MX2004] Deux conditions dans une boucle
    Par pierrot10 dans le forum Flash
    Réponses: 1
    Dernier message: 06/11/2005, 16h31

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