Récupérer les bonne données dans un input
Résolu
thibautB
Messages postés
148
Statut
Membre
-
thibautB Messages postés 148 Statut Membre -
thibautB Messages postés 148 Statut Membre -
Bonjour,
voila j'ai un problème enfaite jai une liste déroulante réliée à ma bdd contenant mes libéllé et j'aimerai que quand je clique sur un libéllé qu'il me ressorte dans mes input le bon id et libéllé
voila le code de la liste déroulante :
et le code de mes inputs :
voila j'ai un problème enfaite jai une liste déroulante réliée à ma bdd contenant mes libéllé et j'aimerai que quand je clique sur un libéllé qu'il me ressorte dans mes input le bon id et libéllé
voila le code de la liste déroulante :
<form method="post" action="test2.php" id="id_form">
<select onchange="document.getElementById('id_form').submit()" name="choix">
<?php
$liendb = mysqli_init();
$connex = mysqli_real_connect($liendb, "localhost", "root","","gsb");
$requete = 'select lfhf_id, lfhf_libelle from lignefraishorsforfait';
$reponse = mysqli_query($liendb,$requete);
while($ligne = mysqli_fetch_array($reponse))
{
$resultat = '<option value="'.$_SESSION['lfhf_libelle'].'">'.$ligne['lfhf_libelle'].'</option>';
echo $resultat;
$_SESSION['id'] = $ligne['lfhf_id'];
$_SESSION['libelle'] = $ligne['lfhf_libelle'];
}
mysqli_close($liendb);
?>
</select>
</form>
et le code de mes inputs :
<?php
if(isset($_POST['choix'])) {
?>
<form method="post">
<label>id : </label><input type="text" value="<?php echo $_SESSION['id']; ?>">
<label>libelle : </label><input type="text" value="<?php echo $_SESSION['libelle']; ?> ">
</form>
<?php
}
session_destroy();
?>
5 réponses
-
En gros tu veux une actualisation de la page au clique sur un objet de la liste?
-
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).on("change", "#liste", function(){
select = document.getElementById("liste");
choice = select.selectedIndex;
valeur_cherchee = select.options[choice].value;
var url = 'majfunction.php?code_film='+valeur_cherchee;
$.post(url, function(data){
$('#modif').html(data);
});
});
</script>
#modif est la div dans laquelle apparaîtra, dans mon cas elle était vide de base, et le code apparaissait après
var url = 'majfunction.php?code_film='+valeur_cherchee;
dans mon cas, la page utilisait un autre fichier php, qui marche avec la méthode GET, d'où le code_film=, qui était GET par cette page
Bref, en principe tu dois changer l'url, par un autre fichier php à toi, qui utilise la méthode GET (ou autre, moi j'avais été au plus simple)
et dans la div #modif, ou le nom que tu lui donnes, il y aura le résultat aprés selection dans la liste, ma liste était :<select id="liste" name="liste">
d'où le #liste en au du script
(#modif, #liste, url= ) sont les seuls choses à changer
Pour le point culture, on appelle cette méthode de rafraîchissement Ajax :)
Bonne nuit -
Bonjour,
Pourquoi vouloir faire de l'ajax?
La question est : A partir d'un SELECT .. remplir deux input...
Ceci devrait suffir :<select name="choix" onchange="actualiseInputs();"> <?php $liendb = mysqli_init(); $connex = mysqli_real_connect($liendb, "localhost", "root","","gsb"); $requete = 'select lfhf_id, lfhf_libelle from lignefraishorsforfait'; $reponse = mysqli_query($liendb,$requete); while($ligne = mysqli_fetch_array($reponse)) { $resultat = '<option value="'.$_SESSION['lfhf_libelle'].'">'.$ligne['lfhf_libelle'].'</option>'; echo $resultat; } mysqli_close($liendb); ?> </select> <form method="post" action=""> <label>id : </label><input id='input_id' type="text" value=""> <label>libelle : </label><input id='input_libelle' type="text" value=""> </form> <script type="text/javascript"> function actualiseInputs(){ //récupération des valeurs var select = document.getElementById("choix"); var choice = select.selectedIndex; var id = select.options[choice].value var libelle = choice.options[choice.selectedIndex].text; //remplissage des inputs var input_id = document.getElementById('input_id'); input_id.value =id; var input_libelle = document.getElementById('input_libelle'); input_libelle.value =libelle; } </script>
Cordialement,
Jordane-
-
et j'ai tester ta solution mais rien ne s'affiche
voici le code :<form method="post" action="" id="id_form">
<select onchange="actualiseinput()" name="choix">
<?php
$liendb = mysqli_init();
$connex = mysqli_real_connect($liendb, "localhost", "root","","gsb");
$requete = 'select lfhf_id, lfhf_libelle from lignefraishorsforfait';
$reponse = mysqli_query($liendb,$requete);
while($ligne = mysqli_fetch_array($reponse))
{
$resultat = '<option value="'.$_SESSION['lfhf_libelle'].'">'.$ligne['lfhf_libelle'].'</option>';
echo $resultat;
$_SESSION['id'] = $ligne['lfhf_id'];
$_SESSION['libelle'] = $ligne['lfhf_libelle'];
}
mysqli_close($liendb);
?>
</select>
<form method="post">
<label>id : </label><input type="text" value="" id="input_id">
<label>libelle : </label><input type="text" value="" id="input_libelle">
</form>
<script type="text/javascript">
function actualiseinput()
{
var select = document.getElementById("choix");
var choix = select.selectedIndex;
var id = select.options[choix].value;
var libelle = choix.options[choix.selectedIndex].text;
var input_id = document.getElementById('input_id');
input_id.value = id;
var input_libelle = document.getElementById('input_libelle');
input_libelle.value = libelle;
}
</script>
</form> -
Désolé... codé à la va vite
voici le code corrigé :<script type="text/javascript"> function actualiseInputs(){ //récupération des valeurs var select = document.getElementById("choix"); var choice = select.selectedIndex; var id = select.options[choice].value var libelle = select.options[select.selectedIndex].text; //remplissage des inputs var input_id = document.getElementById('input_id'); input_id.value =id; var input_libelle = document.getElementById('input_libelle'); input_libelle.value =libelle; } </script> -
-
-
-
Dans ton OPTION :
$resultat = '<option value="'.$_SESSION['lfhf_id'].'" data-mois="'.$ligne['ff_mois'].'">'.$ligne['lfhf_libelle'].'</option>'; echo $resultat;
//récupération des variables DATA-QQCHOSE var elmOption = select.options[choix]; var mois = elmOption.getAttribute('data-mois'); //on inscrits la valeur dans un INPUT var input_mois = document.getElementById('input_mois'); input_mois.value = mois;
-
je suis stupide enfaite donc pour finir dans la fonction ca donne ca :
*
function actualiseInputs(recu){
//récupération des valeurs
var select = document.getElementById("choix");
var choice = select.selectedIndex;
var id = select.options[choice].value;
var libelle = select.options[select.selectedIndex].text;
//récupération des variables DATA-QQCHOSE
var Option = select.options[choice];
var mois = Option.getAttribute('data-mois');
//remplissage des inputs
var input_id = document.getElementById('input_id');
input_id.value =id;
var input_libelle = document.getElementById('input_libelle');
input_libelle.value =libelle;
var input_mois = document.getElementById('input_mois');
input_mois.value = mois;
} -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Je viens de tester (10 secondes ) .... et ça marche parfaitement.
As tu une erreur dans la console de ton navigateur ?
As tu bien repris la dernière version du code html ?
=> As tu bien mis un ID à ton SELECT ?<select id ="choix" name="choix" onchange="actualiseInputs();">