Editer un formulaire
Résolu
labourette
Messages postés
657
Date d'inscription
Statut
Membre
Dernière intervention
-
labourette Messages postés 657 Date d'inscription Statut Membre Dernière intervention -
labourette Messages postés 657 Date d'inscription Statut Membre Dernière intervention -
Bonjour
J'ai un formulaire où mes données sont issues de plusieurs tables. je souhaite pouvoir modifier les infos et je bute sur quelque chose que je n'arrive pas comprendre.
J'ai cette requète qui fonctionne très bien...les données de cette table s'affiche bien.
Mais lorsque je fait l'autre requète issue de mon autre table et là... le formulaire n'affiche plus rien.
J'ai fait un var_dump et ça me retourne boolean true.
Pouvez vous m'aider s'ils vous plait.
Avec tout mes remerciements.
PS juste pour info toutes mes données sont bien inséré dans ma BDD
J'ai un formulaire où mes données sont issues de plusieurs tables. je souhaite pouvoir modifier les infos et je bute sur quelque chose que je n'arrive pas comprendre.
J'ai cette requète qui fonctionne très bien...les données de cette table s'affiche bien.
case 'edit': $resultats = $bdd->query("SELECT * FROM tb_gestion_adherent WHERE id_adherent='" . $PARAM['ID_ADHERENT'] . "' ORDER BY nom ASC"); $nb = $resultats->setFetchMode(PDO::FETCH_OBJ); $donnees = $resultats->fetch(); if(preg_match('#(\d{4})-(\d{1,2})-(\d{1,2})#is', $donnees->date_naissance, $match)) $date = array(1=>$match[3],2=>$match[2],3=>$match[1]);
Mais lorsque je fait l'autre requète issue de mon autre table et là... le formulaire n'affiche plus rien.
J'ai fait un var_dump et ça me retourne boolean true.
Pouvez vous m'aider s'ils vous plait.
Avec tout mes remerciements.
PS juste pour info toutes mes données sont bien inséré dans ma BDD
$resultats = $bdd->query("SELECT * FROM tb_gestion_admin WHERE id_gestion_admin='" . $PARAM['ID_GESTION_ADMIN'] . "' "); var_dump($nb); $nb = $resultats->setFetchMode(PDO::FETCH_OBJ); $donnees = $resultats->fetch(); break;
A voir également:
- Editer un formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook - Guide
- Formulaire de reclamation instagram - Guide
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
- Problème avec Google Chrome - Forum Google Chrome
17 réponses
Bonjour,
Le var_dump($nb) se trouve avant l'affectation de $nb, qu'est-ce que ça donne en le plaçant après ?
Le var_dump($nb) se trouve avant l'affectation de $nb, qu'est-ce que ça donne en le plaçant après ?
Bonjour,
Voilà mes 3 requètes, si je met juste la première requète qui correspond à la table "tb_gestion_adherent" tout fonctionne
Sinon cela me retourne "boolean true" en ayant changé de place le var_dum et j'ai fait des requète préparée. Mes données ne se réaffiche pas dans le formulaire par contre dans ma BDD les données on été rajouté.
Si vous pouvez essayé de m'aider en vous remerciant par avance
Voilà mes 3 requètes, si je met juste la première requète qui correspond à la table "tb_gestion_adherent" tout fonctionne
Sinon cela me retourne "boolean true" en ayant changé de place le var_dum et j'ai fait des requète préparée. Mes données ne se réaffiche pas dans le formulaire par contre dans ma BDD les données on été rajouté.
Si vous pouvez essayé de m'aider en vous remerciant par avance
case 'edit': $sql = "SELECT * FROM tb_gestion_adherent WHERE id_adherent='" . $PARAM['ID_ADHERENT'] . "' ORDER BY nom ASC"; $requete = $bdd->prepare($sql); $requete->execute(); $nb = $requete->setFetchMode(PDO::FETCH_OBJ); $donnees = $requete->fetch(); if(preg_match('#(\d{4})-(\d{1,2})-(\d{1,2})#is', $donnees->date_naissance, $match)) $date = array(1=>$match[3],2=>$match[2],3=>$match[1]); $sql = "SELECT * FROM tb_gestion_admin WHERE id_gestion_admin='" . $PARAM['ID_GESTION_ADMIN'] . "' "; $resultats = $bdd->prepare($sql); $resultats->execute(); $nb = $resultats->setFetchMode(PDO::FETCH_OBJ); var_dump($nb); $donnees = $resultats->fetch(); $sql = "SELECT * FROM tb_gestion_membre WHERE id_membre='" . $PARAM['ID_MEMBRE'] . "' "; $resultats = $bdd->prepare($sql); $resultats->execute(); $nb = $resultats->setFetchMode(PDO::FETCH_OBJ); $donnees = $resultats->fetch(); break;
Bonjour
Encore besoin de vous je ne sais pas si mes explications sont explicites mais si quelqu'un d'entre vous pourrais essayer de m'aider cela me rendrais super content.
Je vous remercie de votre aide
Encore besoin de vous je ne sais pas si mes explications sont explicites mais si quelqu'un d'entre vous pourrais essayer de m'aider cela me rendrais super content.
Je vous remercie de votre aide
Salut,
$nb correspond au retour de la méthode setFetchMode() qui indique que le mode de récupération a bien été changé, ce n'est pas vraiment ce qui nous intéresse.
Fait plutôt un var_dump de tes variables $sql pour voir exactement quelles requêtes tu exécutes et test les directement dans PhpMyAdmin ou un autre client Mysql pour vérifier leurs résultats.
Enfin, les requêtes préparées ne sont pas vraiment utile dans ton code puisque tu écris les paramètres directement dans la requête, mais ce n'est pas la cause de ton problème puisque le résultat est le même.
Bonne journée
$nb correspond au retour de la méthode setFetchMode() qui indique que le mode de récupération a bien été changé, ce n'est pas vraiment ce qui nous intéresse.
Fait plutôt un var_dump de tes variables $sql pour voir exactement quelles requêtes tu exécutes et test les directement dans PhpMyAdmin ou un autre client Mysql pour vérifier leurs résultats.
Enfin, les requêtes préparées ne sont pas vraiment utile dans ton code puisque tu écris les paramètres directement dans la requête, mais ce n'est pas la cause de ton problème puisque le résultat est le même.
Bonne journée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour
Merci de ta réponse.
En fait ma réquète ci-dessous fonctionne
mais le problème ça n'affiche pas les données des autres tables
Voici les requète INSERT que j'ai si tu peux me donner des conseils
Merci
Merci de ta réponse.
En fait ma réquète ci-dessous fonctionne
case 'edit': $sql = "SELECT * FROM tb_adherent WHERE id_adherent='" . $PARAM['ID_ADHERENT'] . "' ORDER BY nom ASC"; $requete = $bdd->prepare($sql); $requete->execute(); $nb = $requete->setFetchMode(PDO::FETCH_OBJ); $donnees = $requete->fetch(); break;
mais le problème ça n'affiche pas les données des autres tables
Voici les requète INSERT que j'ai si tu peux me donner des conseils
Merci
case 'ajouter': $sql = "INSERT INTO tb_adherent (civilite, nom, prenom, adresse_mail, date_naissance, telephone_fixe, telephone_mobile, adresse, lieu_dit, code_postal, ville, login, pass) VALUES (:civilite, :nom, :prenom, :adresse_mail, :date_naissance, :telephone_fixe, :telephone_mobile, :adresse, :lieu_dit, :code_postal, :ville, :login, :pass)"; $requete = $bdd->prepare($sql); $requete->bindParam(':civilite', $PARAM['CIVILITE']); $requete->bindParam(':nom', $PARAM['NOM']); $requete->bindParam(':prenom', $PARAM['PRENOM']); $requete->bindParam(':adresse_mail', $PARAM['ADRESSE_MAIL']); $requete->bindParam(':date_naissance', $PARAM['DATE_NAISSANCE']); $requete->bindParam(':telephone_fixe', $PARAM['TELEPHONE_FIXE']); $requete->bindParam(':telephone_mobile', $PARAM['TELEPHONE_MOBILE']); $requete->bindParam(':adresse', $PARAM['ADRESSE']); $requete->bindParam(':lieu_dit', $PARAM['LIEU_DIT']); $requete->bindParam(':code_postal', $PARAM['CODE_POSTAL']); $requete->bindParam(':ville', $PARAM['VILLE']); $requete->bindParam(':login', $PARAM['LOGIN']); $requete->bindParam(':pass', $PARAM['PASS']); $requete->execute(); $adherent_insert = $bdd->lastInsertId(); if (isset($_POST['categorie_statut'])){ foreach($PARAM['CATEGORIE_STATUT'] as $categorie_statut){ $sql = 'INSERT INTO tb_gestion_admin (rid_adherent, rid_categorie_statut) VALUES ("'.$adherent_insert.'", "'.$categorie_statut.'")'; $requete = $bdd->prepare($sql); $requete->bindParam(':rid_adherent', $adherent_insert); $requete->bindParam(':rid_categorie_statut', $categorie_statut); $requete->execute(); } $sql = "INSERT INTO tb_gestion_membre(rid_adherent, categorie_actif, categorie_non_actif, sortant, annee_admission, annee_demission) VALUES (:rid_adherent, :categorie_actif, :categorie_non_actif, :sortant, :annee_admission, :annee_demission)"; $requete = $bdd->prepare($sql); $requete->bindParam(':rid_adherent', $adherent_insert); $requete->bindParam(':categorie_actif', $PARAM['CATEGORIE_ACTIF']); $requete->bindParam(':categorie_non_actif', $PARAM['CATEGORIE_NON_ACTIF']); $requete->bindParam(':sortant', $PARAM['SORTANT']); $requete->bindParam(':annee_admission', $PARAM['ANNEE_ADMISSION']); $requete->bindParam(':annee_demission', $PARAM['ANNEE_DEMISSION']); $requete->execute(); } break;
Bonjour
Pouvez vous regarder mon problème afin de pouvoir récuperer les valeurs de mon formulaire pour pouvoir les modifier.
Comme je le dit plus haut je peux récupérer les données de la table "tb_adherent" mais pour les autres tables je ne sais pas comment je peux faire.
Je vous remercie beaucoup.
Pouvez vous regarder mon problème afin de pouvoir récuperer les valeurs de mon formulaire pour pouvoir les modifier.
Comme je le dit plus haut je peux récupérer les données de la table "tb_adherent" mais pour les autres tables je ne sais pas comment je peux faire.
Je vous remercie beaucoup.
Bonjour
Plusieurs jours sans trouver la solution à mon problème, je commence vraiment à désespérer et souhaite vraiment de l'aide de votre part en vous remerciant sincérement.
Je vous réexplique mon soucis plus clairement.
Voici mes 4 tables concernées
J'ai un seul et unique formulaire pour insérer les données.
Voici les liens avec lesquels je modifie et supprime les données
Mon problème est le suivant les données concernant la table tb_adherent tout se passe très bien editer, modifier et supprimer mais pour les autres tables rien ne s'affiche dans le formulaire lors de l'insertion de données par contre dans ma BDD les INSERT se font bien
Voici ma case edit
Et pour finir voici mes checkbox et ma liste déroulante.
J'espère avoir été le plus clair possible afin que vous puissiez m'aider merci infiniment.
Plusieurs jours sans trouver la solution à mon problème, je commence vraiment à désespérer et souhaite vraiment de l'aide de votre part en vous remerciant sincérement.
Je vous réexplique mon soucis plus clairement.
Voici mes 4 tables concernées
CREATE TABLE IF NOT EXISTS 'ma_base'.'tb_adherent' ( 'id_adherent' INT NOT NULL AUTO_INCREMENT, 'civilite' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'nom' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'prenom' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'adresse_mail' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'date_naissance' DATE NULL, 'telephone_fixe' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'telephone_mobile' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'adresse' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'lieu_dit' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'code_postal' VARCHAR(5) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'ville' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'login' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, 'pass' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NULL, PRIMARY KEY ('id_adherent')) ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS 'ma_base'.'tb_categorie_actif' ( 'id_categorie_actif' INT NOT NULL AUTO_INCREMENT, 'categorie_actif' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NOT NULL, PRIMARY KEY ('id_categorie_actif')) ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS 'ma_base'.'tb_categorie_statut' ( 'id_categorie_statut' INT NOT NULL AUTO_INCREMENT, 'categorie_statut' VARCHAR(45) CHARACTER SET 'utf8' COLLATE 'utf8_general_ci' NOT NULL, PRIMARY KEY ('id_categorie_statut')) ENGINE = InnoDB;
CREATE TABLE IF NOT EXISTS 'ma_base'.'tb_gestion_membre' ( 'id_gestion_membre' INT NOT NULL AUTO_INCREMENT, 'rid_adherent' INT NOT NULL, 'categorie_actif' VARCHAR(50) NULL, 'sortant' BIT NULL, 'annee_admission' VARCHAR(4) NULL, 'annee_demission' VARCHAR(4) NULL, PRIMARY KEY ('id_gestion_membre', 'rid_adherent'), INDEX 'rid_adherent' ('rid_adherent' ASC), CONSTRAINT 'fk_tb_adherent' FOREIGN KEY ('rid_adherent') REFERENCES 'ma_base'.'tb_adherent' ('id_adherent') ON DELETE CASCADE ON UPDATE CASCADE) ENGINE = InnoDB;
J'ai un seul et unique formulaire pour insérer les données.
Voici les liens avec lesquels je modifie et supprime les données
<td> <a href="./index.php?body=gestion_membre&type=compte&action=edit&id_adherent=<?php echo $donnees->id_adherent;?>&voir=fiche" onclick="ad_user()"> <img src="image/voir.png" width="22px" height="22px" alt="Fiche détaillée du membre" title="Fiche détaillé du membre" style="margin:0px 15px 0px 0px; border:none" /></a> <a href="./index.php?body=gestion_membre&type=compte&action=edit&id_adherent=<?php echo $donnees->id_adherent;?>" onclick="ad_user()"> <img src="image/modifier.png" width="22px" height="22px" align="top" alt="Modifier le membre" title="Modifier le membre" style="margin:0px 15px 0px 0px; border:none" /></a> <a href="./index.php?body=gestion_membre&type=compte&action=supprimer&id_adherent=<?php echo $donnees->id_adherent;?>"> <img src="image/supprimer.png" width="22px" height="22px" alt="Supprimer le membre" title="Supprimer le membre" style="margin:0px 15px 0px 0px; border:none" /></a> </td>
Mon problème est le suivant les données concernant la table tb_adherent tout se passe très bien editer, modifier et supprimer mais pour les autres tables rien ne s'affiche dans le formulaire lors de l'insertion de données par contre dans ma BDD les INSERT se font bien
Voici ma case edit
case 'edit': $sql = ("SELECT * FROM tb_adherent WHERE id_adherent='" . $PARAM['ID_ADHERENT'] . "' ORDER BY nom ASC"); $requete = $bdd->prepare($sql); $requete->execute(); $reponse = $requete->setFetchMode(PDO::FETCH_ASSOC); $donnees = $requete->fetch(); break;
Et pour finir voici mes checkbox et ma liste déroulante.
$sql = "SELECT * FROM tb_categorie_statut"; $requete1 = $bdd->prepare($sql); $requete1->execute(); while ($donnees = $requete1->fetch(PDO::FETCH_ASSOC)) { echo"<tr>"; // Affichage d'un des champs echo"<td width='25%'>".$donnees['categorie_statut']."</td>"; echo"<td width='25%'><input type='checkbox' name='categorie_statut[]' value='".$donnees['id_categorie_statut']."'></td>"; } $requete1->closeCursor(); ####################################################################################################################################### echo"<td width='25%'>"; echo'<select style="width: auto" name="categorie_actif" class="content_input" disabled="">'; echo"<option value=''>- - - Membre Actif - - -</option>"; $sql = "SELECT * FROM tb_categorie_actif"; $resultat2 = $bdd->prepare($sql); $resultat2->execute(); while ($donnees = $resultat2->fetch(PDO::FETCH_ASSOC)) { echo"<option value=".$donnees["categorie_actif"].">".$donnees["categorie_actif"]."</option>\n"; } echo"</select>"; echo"</td>"; $resultat2->closeCursor();
J'espère avoir été le plus clair possible afin que vous puissiez m'aider merci infiniment.
Bonjour
Pour être plus simple je voudrais pouvoir garder les valeurs sélectionner dans une liste déroulante et pour les checkbox également.
J'espère de tout coeur que vous pourrez m'aider je ne peux plus avancé sur mon projet.
Un grand merci.
Pour être plus simple je voudrais pouvoir garder les valeurs sélectionner dans une liste déroulante et pour les checkbox également.
J'espère de tout coeur que vous pourrez m'aider je ne peux plus avancé sur mon projet.
Un grand merci.
Bonjour
J'ai essayé de faire cela mais bien sur ça ne fonctionne pas.
Pouvez vous essayer de me donner un coup de main s'il vous plait
Je vous remercie
J'ai essayé de faire cela mais bien sur ça ne fonctionne pas.
Pouvez vous essayer de me donner un coup de main s'il vous plait
Je vous remercie
<option value=" <?php echo $donnees['nom_instrument']; ?>" <?php if (!empty($_POST['categorie_instrument'])) {if ($donnees['nom_instrument']==$donnees['categorie_instrument'])($donnees['nom_instrument']==$donnees['categorie_instrument']) echo ('selected="selected"');} ?>> <?php echo $donnees['nom_instrument'];?> </option>
Salut,
Pour garder la valeurs déjà sélectionnée dans la liste, il te faut obligatoirement deux informations :
- les éléments de la liste
- l'élément déjà sélectionnée
Une fois ces deux infos récupérées, tu peux construire ta liste comme ceci par exemple :
Bonne journée
Pour garder la valeurs déjà sélectionnée dans la liste, il te faut obligatoirement deux informations :
- les éléments de la liste
- l'élément déjà sélectionnée
Une fois ces deux infos récupérées, tu peux construire ta liste comme ceci par exemple :
// les données de la liste $donnees = array('data1', 'data2', 'data3', 'data4', 'data5'); // la donnée déjà selectionnée $donneeSelected = 'data3'; // EXEMPLE 1 // construction de la balise select echo '<select>'; echo '<option value="">Défaut</option>'; foreach ($donnees as $donnee) { // on initialise l'attribut selected à vide $attributSelected = ''; // si la donnée qu'on affiche correspond à la donnée selectionnée, on défini l'attribut selected if ($donnee == $donneeSelected) { $attributSelected = ' selected'; } // on affiche la balise option echo '<option value="' . $donnee . '"' . $attributSelected . '>' . $donnee . '</option>'; } echo '</select>'; // EXEMPLE 2 : identique mais plus compacte // construction de la balise select echo '<select>'; echo '<option value="">Défaut</option>'; foreach ($donnees as $donnee) { echo '<option value="' . $donnee . '"' . ($donnee == $donneeSelected ? ' selected' : '') . '>' . $donnee . '</option>'; } echo '</select>';
Bonne journée
Bonjour
S'il te plait tu peux me corriger ça ne fonctionne pas. Je t'envoi mon tableau et le script.
Merci
Je regarde encore si jamais j'arrive à trouver la bonne syntaxe.
Merci beaucoup
S'il te plait tu peux me corriger ça ne fonctionne pas. Je t'envoi mon tableau et le script.
Merci
$PARAM = array ( 'ID_GESTION_REPERTOIRE' => isset($_REQUEST['id_gestion_repertoire']) ? $_REQUEST['id_gestion_repertoire'] : '', 'NUMERO_REPERTOIRE' => isset($_POST['numero_repertoire']) ? trim($_POST['numero_repertoire']) : '', 'TITRE_REPERTOIRE' => isset($_POST['titre_repertoire']) ? stripslashes(htmlspecialchars(ucfirst(trim($_POST['titre_repertoire'])))) : '', 'CATEGORIE_INSTRUMENT' => isset($_POST['categorie_instrument']) ? $_POST['categorie_instrument'] : '', 'ID_CATEGORIE_INSTRUMENT' => isset($_REQUEST['id_categorie_instrument']) ? $_REQUEST['id_categorie_instrument'] : '', 'NOM_INSTRUMENT' => isset($_POST['nom_instrument']) ? $_POST['nom_instrument'] : '' );
$sql = ("SELECT * FROM tb_categorie_instrument") or die(print_r($bdd->errorInfo())); $requete2 = $bdd->prepare($sql); $requete2->execute(); echo'<td width="30%">'; echo'<select style="width: auto" name="nom_instrument" id="nom_instrument "class="content_input" disabled="">'; echo'<option value="">- - - Nom Instrument - - -</option>'; foreach($PARAM['NOM_INSTRUMENT'] as $nom_instrument){ // on initialise l'attribut selected à vide $attributSelected = ''; // si la donnée qu'on affiche correspond à la donnée selectionnée, on défini l'attribut selected if ($PARAM['NOM_INSTRUMENT'] == $nom_instrument) { $attributSelected = ' selected'; } // on affiche la balise option echo '<option value="' . $donnees['nom_instrument'] . '"' . $attributSelected . '>' . $donnees['nom_instrument'] . '</option>'; } echo '</select>'; echo"</td>"; $requete2->closeCursor();
Je regarde encore si jamais j'arrive à trouver la bonne syntaxe.
Merci beaucoup
Bonjour
Très découragé je n'arrive pas à mettre en place ce sript, pouvez-vous me donner un coup de main pour enfin que je puisse bien assimilé les listes déroulantes dynamique.
Je vous ai mis mon tableau ci-dessus.
En vous remerciant.
Très découragé je n'arrive pas à mettre en place ce sript, pouvez-vous me donner un coup de main pour enfin que je puisse bien assimilé les listes déroulantes dynamique.
Je vous ai mis mon tableau ci-dessus.
En vous remerciant.
Bonjour
Merci de votre aide j'ai fini par résoudre mon problème.
Merci de votre aide j'ai fini par résoudre mon problème.
$donneeSelected = $donnees['categorie_instrument']; $sql = ("SELECT * FROM tb_categorie_instrument") or die(print_r($bdd->errorInfo())); $requete2 = $bdd->prepare($sql); $requete2->execute(); echo'<td width="30%">'; echo'<select style="width: auto" name="categorie_instrument" id="categorie_instrument "class="content_input" disabled="">'; echo '<option value="">Défaut</option>'; foreach ($donnees as $donnee) { echo '<option value="' . $donnee . '"' . ($donnee == $donneeSelected ? ' selected' : '') . '>' . $donnee . '</option>'; } echo '</select>'; echo"</td>"; $requete2->closeCursor();
Bonjour
En fait je me suis réjoui trop vite.
Avec le script ci-dessus dans la liste déroulante ça m'affiche pas la liste de ma BDD cela me retourne les champs.
Mais si je rjoute une boucle while ça fonctionne bien à l'exeption que dans la liste ça affiche également le id_categorie_instrument.
Tu peux si tu as un peu de temps me corriger ma requète s'il te plait peut-être il y a plus simple.
Je te remercie
En fait je me suis réjoui trop vite.
Avec le script ci-dessus dans la liste déroulante ça m'affiche pas la liste de ma BDD cela me retourne les champs.
Mais si je rjoute une boucle while ça fonctionne bien à l'exeption que dans la liste ça affiche également le id_categorie_instrument.
Tu peux si tu as un peu de temps me corriger ma requète s'il te plait peut-être il y a plus simple.
Je te remercie
$donneeSelected = $donnees['categorie_instrument']; $sql = ("SELECT * FROM tb_categorie_instrument") or die(print_r($bdd->errorInfo())); $requete2 = $bdd->prepare($sql); $requete2->execute(); echo'<td width="30%">'; echo'<select style="width: auto" name="categorie_instrument" id="categorie_instrument "class="content_input" disabled="">'; echo '<option value="">- - - Instrument - - -</option>'; while ($donnees = $requete2->fetch(PDO::FETCH_ASSOC)) { foreach ($donnees as $categorie_instrument) { echo '<option value="' . $categorie_instrument . '"' . ($categorie_instrument == $donneeSelected ? ' selected' : '') . '>' . $categorie_instrument . '</option>'; } } echo '</select>'; echo"</td>"; $requete2->closeCursor();
Salut,
Je ne connait pas exactement la structure de ta bdd ni la manière dont tu souhaites afficher ta liste. En général pour les listes, on utilise un identifiant pour l'attrtibut value et un nom pour le contenu de la balise option.
Supposons que tu ais deux champs dans ta table nommé id_categorie et nom_categorie, tu peux essayer quelque chose comme ca :
Dans cet exemple, la variable $donneeSelected doit correspondre à un identifiant de liste. Tu n'es pas obligé de travailler avec des identifiants, tu peux utiliser uniquement les noms s'ils sont uniques.
Bonne journée
Je ne connait pas exactement la structure de ta bdd ni la manière dont tu souhaites afficher ta liste. En général pour les listes, on utilise un identifiant pour l'attrtibut value et un nom pour le contenu de la balise option.
Supposons que tu ais deux champs dans ta table nommé id_categorie et nom_categorie, tu peux essayer quelque chose comme ca :
$donneeSelected = $donnees['categorie_instrument']; $sql = ("SELECT id_categorie, nom_categorie FROM tb_categorie_instrument") or die(print_r($bdd->errorInfo())); $requete2 = $bdd->prepare($sql); $requete2->execute(); echo'<td width="30%">'; echo'<select style="width: auto" name="categorie_instrument" id="categorie_instrument "class="content_input" disabled="">'; echo '<option value="">- - - Instrument - - -</option>'; while ($donnees = $requete2->fetch(PDO::FETCH_ASSOC)) { echo '<option value="' . $donnees['id_categorie'] . '"' . ($donnees['id_categorie'] == $donneeSelected ? ' selected' : '') . '>' . $donnees['nom_categorie'] . '</option>'; } echo '</select>'; echo"</td>"; $requete2->closeCursor();
Dans cet exemple, la variable $donneeSelected doit correspondre à un identifiant de liste. Tu n'es pas obligé de travailler avec des identifiants, tu peux utiliser uniquement les noms s'ils sont uniques.
Bonne journée