PHP : Récupération de données pour des champs
Gregg78
Messages postés
65
Statut
Membre
-
Breub62 Messages postés 3452 Statut Membre -
Breub62 Messages postés 3452 Statut Membre -
Bonjour à toutes et tous, ou plutôt bonsoir car il se fait tard !
Après 2 bonnes heures à chercher une solution sur différents forums je m'incline et sollicite votre aide :p
J'ai un formulaire tout beau tout propre pour insérer des données dans une base. Jusque là rien de très compliqué. Via l'admin créée je propose de modifier les entrées.
Or là, lorsque l'on clique sur Modifier, on arrive sur le même formulaire (et même page PHP que pour l'insertion) avec les infos pré-remplies. Reste plus qu'à modifier les champs voulus.
Sauf que j'arrive à faire apparaître les champs Input, Radio et Textarea mais pas les champs Select et Checkbox.
Quelqu'un a sûrement déjà rencontré ce cas :-)
Voici un exemple de mon code :
Maintenant il faut que le choix inscrit dans la BDD soit déjà sélectionné si on décide de modifier l'article. Car actuellement rien n'est pré-selectionné et donc si on modifie un champ et qu'on oublie de sélectionner à nouveau, le champ s'enregistre vide... J'espère ne pas être trop confus ;-)
Merci d'avance pour votre aide et votre temps !!!
Gregg
Après 2 bonnes heures à chercher une solution sur différents forums je m'incline et sollicite votre aide :p
J'ai un formulaire tout beau tout propre pour insérer des données dans une base. Jusque là rien de très compliqué. Via l'admin créée je propose de modifier les entrées.
Or là, lorsque l'on clique sur Modifier, on arrive sur le même formulaire (et même page PHP que pour l'insertion) avec les infos pré-remplies. Reste plus qu'à modifier les champs voulus.
Sauf que j'arrive à faire apparaître les champs Input, Radio et Textarea mais pas les champs Select et Checkbox.
Quelqu'un a sûrement déjà rencontré ce cas :-)
Voici un exemple de mon code :
<?php
if (isset($_GET['modifier_invit']))
{
$retour = mysql_query('SELECT * FROM invit WHERE id=' . $_GET['modifier_invit']);
$donnees = mysql_fetch_array($retour);
$numero = $donnees['numero'];
$invitation = $donnees['invitation'];
$album = $donnees['album'];
$id_invit = $donnees['id'];
}
else
{ $numero = '';
$invitation = '';
$album= '';
}
?>
<form action="liste.php" method="post" enctype="multipart/form-data">
<INPUT TYPE=HIDDEN NAME=MAX_FILE_SIZE VALUE=10240000 />
Numero : <input type="text" name="numero" value="<?php echo $numero; ?>" />
<br />
<b>Album :</b> <br />
<select name="album" >
<option selected></option>
<?php
$retour2 = mysql_query('SELECT * FROM albums ORDER BY code');
while ($donnees2 = @mysql_fetch_array($retour2))
{
?>
<option value="<?php echo $donnees2['code']; ?>"><?php echo $donnees2['titre']; ?></option>
<?php
}
?>
</select>
<br />
<b>Invitation :</b> <input type="text" name="invitation" value="<?php echo $invitation; ?>" />
etc...
Maintenant il faut que le choix inscrit dans la BDD soit déjà sélectionné si on décide de modifier l'article. Car actuellement rien n'est pré-selectionné et donc si on modifie un champ et qu'on oublie de sélectionner à nouveau, le champ s'enregistre vide... J'espère ne pas être trop confus ;-)
Merci d'avance pour votre aide et votre temps !!!
Gregg
A voir également:
- PHP : Récupération de données pour des champs
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour à la ligne php ✓ - Forum PHP
- Alert php - Forum PHP
- Retour a la ligne php ✓ - Forum PHP
5 réponses
ou plutôt bonsoir car il se fait tard
Tu es un peu décalé toi pour trouvé que bientôt midi c'est tard...
Pour ton problème Je te conseille d'enlever <option selected></option> et dans ta boucle, tu met
<option value="<?php echo $donnees2['code']; ?>"><?php echo $donnees2['titre']; ?> selected='selected'</option>après un test (si la valeur est celle enregistrée tu met selected.
Idem pour les checkbox mais avec checked='checked'
Merci Breub 62,
en effet, je suis légèrement décalé ;-(
Merci pour ta réactivité mais je ne suis pas sur de te suivre. Es-tu sur d'avoir mis le selected au bon endroit ?
Quand tu me parles d'un test, tu l'imagines sous quelle forme car là je ne vois pas comment récupérer la valeur déjà enregistrée...
en effet, je suis légèrement décalé ;-(
Merci pour ta réactivité mais je ne suis pas sur de te suivre. Es-tu sur d'avoir mis le selected au bon endroit ?
Quand tu me parles d'un test, tu l'imagines sous quelle forme car là je ne vois pas comment récupérer la valeur déjà enregistrée...
Voici ma façon de faire avec un bout de mon code :
echo "<select name='EtatIntervention'>";
while($dataEtatIntervention = mysql_fetch_assoc($resEtatIntervention))
{
if($dataEtatIntervention['NumEtatIntervention'] == $_SESSION['EtatIntervention'])//menu déroulant en adéquation avec la sélection faite
{
echo " <option value='".$dataEtatIntervention['NumEtatIntervention'].$i."' selected='selected'>".$dataEtatIntervention['NomEtatIntervention']."</option>";
}
else
{
echo " <option value='".$dataEtatIntervention['NumEtatIntervention']."'>".$dataEtatIntervention['NomEtatIntervention']."</option>";
}
}
echo "</select>";
Quel plaisir une telle réactivité...
Par contre moi ca marche pas trop, voilà ce que ca donne à ma sauce, vois-tu une coquille quelque part ?
J'ai bien la liste qui s'affiche, mais rien de pré-selectionné :
Par contre moi ca marche pas trop, voilà ce que ca donne à ma sauce, vois-tu une coquille quelque part ?
J'ai bien la liste qui s'affiche, mais rien de pré-selectionné :
<?php
echo "<select name='rubrique'><option>• Documentation</option>";
$retour2 = mysql_query('SELECT * FROM rubriques ORDER BY code');
while($donnees2 = mysql_fetch_array($retour2))
{
if($donnees2['code'] == $_SESSION['rubrique'])//menu déroulant en adéquation avec la sélection faite
{
echo " <option value='".$donnees2['code'].$i."' selected='selected'>".$donnees2['nom']."</option>";
}
else
{
echo " <option value='".$donnees2['code']."'>".$donnees2['nom']."</option>";
}
}
echo "<option value='Certificat de conformité'>• Certificat de conformité</option><option value='Autres'>• Autres</option></select>";
?>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Tu dois faire en sorte que $_SESSION['rubrique'] te retourne la valeur à sélectionner ainsi au moment de l'affichage de la liste, si la valeur à afficher est la même que celle qui doit être préselectionnée, tu la sélectionne.
Sinon il y a un $i qui se balade et que tu peux enlever car elle ne correspond qu'à un cas particulier chez moi.
Sinon il y a un $i qui se balade et que tu peux enlever car elle ne correspond qu'à un cas particulier chez moi.