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 l'ID ne fonctionne pas [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut Récupération de l'ID ne fonctionne pas
    Plop,

    Ayant un projet en "Management des organisations", j'ai décidé de réaliser un petit Intranet (dans le but de parler des systèmes d'informations), mais le problème est que je n'arrive pas à réaliser un petit script pour "gérer les commandes". Trouvant l'idée pas mal afin d'approfondir mon niveau dans les langages web, je me suis lancé, pris la technologie "Bootsrap" comme moteur et j'ai démarré à coder!

    Donc en fait, j'ai réalisé une page en PHP afin de voir toutes les commandes passées, pour ainsi les "gérer" (mais ce n'est qu'un site de démonstration, donc le système de gestion ne sera pas fait, et là j'aimerai faire ça :

    Quand on clique sur "Gérer la commande" -> une boite de dialogue s'affiche et y est inscrit un récapitulatif de la commande (client, produit, etc..)
    Mon problème ? Eh bien, ma page des commandes s'affiche bien, aucun problème, mais le problème est que dans la boite de dialogue, les données affichées ne sont pas affectées à l'ID de la commande même. Donc en gros, si je clique la deuxième commande (qui aura l'ID 2), eh bien les infos émises restent celle de la commande portant l'ID 1.

    Voici mon code afin que vous puissiez m'aider à corriger mon/mes erreur(s).

    Code PHP : 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
    $req = $bdd->prepare('SELECT * FROM commandes WHERE id = :id LIMIT 1');
    		$req->execute(array('id' => $_GET['id']));
    		echo '<table class="table table-bordered"><thead><tr><th># Numéro de commande</th><th>Date de la commande</th><th>Identité du client</th><th>Produits concernées</th><th>Code barre</th><th>Quantités</th><th>Prix au KG</th><th>Total (€)</th><th>Gestion</th></tr></thead><tbody>';
    		while ($donnees = $req->fetch())
    		{
    			echo '<!-- Modal -->
    			<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    			  <div class="modal-dialog">
    				<div class="modal-content">
    				  <div class="modal-header">
    					<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
    					<h4 class="modal-title" id="myModalLabel">Gestion de la commande</h4>
    				  </div>
    				  <div class="modal-body">
    					ID de la commande : '.$donnees['id'].'<br/>
    					Nom du client : '.$donnees['client'].'
    				  </div>
    				  <div class="modal-footer">
    					<button type="button" class="btn btn-default" data-dismiss="modal">Fermer</button>
    					<button type="button" class="btn btn-primary">Continuer</button>
    				  </div>
    				</div>
    			  </div>
    			</div>';
    			echo '<tr><td>' . $donnees['id'] . '</td><td>' . $donnees['date'] . '</td><td>' . $donnees['client'] . '</td><td>' . $donnees['produits'] . '</td><td>' . $donnees['codebarre'] . '</td><td>' . $donnees['qte'] . '</td><td>' . $donnees['prixkg'] . '€</td><td>' . $donnees['total'] . '€</td><td><a href="#myModal" role="button" class="btn" data-toggle="modal">Gestion de la commande</a></td></tr>';
    		}
    		echo '</tbody></table>';
    		$req->closeCursor();

    Merci à vous !
    Bonne soirée
    ++

  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
    Il vaut mieux mettre les deux points dans l'index egalement.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $req->execute(array(':id' => $_GET['id']));
    Sinon tu as contrôlé le $_GET['id'] reçu ?
    Comment est appellé le code que tu nous montres ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Salut Sabotage,
    En rajoutant les : dans l'index, cela ne fonctionne pas. Les données du tableau (HTML) ne sont pas affichées, pourtant sans le WHERE id = :id, cela fonctionne, j'ai du mal à comprendre.

    Sinon, elle est appelée lorsqu'une personne clique sur le bouton "Gestion de la commande"

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<tr><td>' . $donnees['id'] . '</td><td>' . $donnees['date'] . '</td><td>' . $donnees['client'] . '</td><td>' . $donnees['produits'] . '</td><td>' . $donnees['codebarre'] . '</td><td>' . $donnees['qte'] . '</td><td>' . $donnees['prixkg'] . '€</td><td>' . $donnees['total'] . '€</td><td><a href="#myModal" role="button" class="btn" data-toggle="modal">Gestion de la commande</a></td></tr>';

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Si tu as plusieurs lignes, tu vas créer plusieurs modales qui vont toutes avoir comme id "MyModal".
    Or un id (en HTML) doit être unique. Sinon, comment ton lien peut-il savoir sur quelle modale il pointe ?

    Il faut que tu différencie tes différentes modales. Tu peux par exemple ajouter l'identifiant de ta donnée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<!-- Modal -->
    	<div class="modal fade" id="myModal_'.$donnees['id'].'" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">'
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<a href="#myModal_'.$donnees['id'].'" role="button" class="btn" data-toggle="modal">Gestion de la commande</a>';
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 8
    Par défaut
    Salut Celira,
    Merci de ton intervention, mon problème est maintenant réglé, c'était réellement très simple, je n'y avais pas pensé.
    Merci à vous tous

    Bonne journée

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

Discussions similaires

  1. Récupération de données getElementById qui fonctionne pas
    Par cuisto44000 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/01/2012, 22h10
  2. Réponses: 6
    Dernier message: 27/01/2004, 11h14
  3. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04
  4. Un Hint sur un PopupMenu ne fonctionne pas !!??
    Par momox dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2003, 16h48
  5. ca ne fonctionne pas (generateur auto-incrémentant)
    Par tripper.dim dans le forum SQL
    Réponses: 7
    Dernier message: 26/11/2002, 00h10

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