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

AJAX Discussion :

[AJAX] Liste déroulante php mysql ajax javascript


Sujet :

AJAX

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut [AJAX] Liste déroulante php mysql ajax javascript
    bonjour
    j'ai crée mais deux liste déroulante liée dans une base de donnée auteur livre ça marche très bien mais mon problème je veux que quand je remplis le formulaire au niveau de ma base je trouve le nom de l'auteur pas son id
    j'ai essayé de changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<option value='".$row["id"]."'>".$row["nom"]."</option>";
    a la place de .$row["id"] j'ai mis .$row["nom"] mais la deuxième liste bloque vu qu'elle a besoin de l'id d'auteur comme argument
    j'ai même essayer de change mon code JS j'ai mis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     sel = document.getElementByName('auteur');
    tjr rien
    je suis perdu

  2. #2
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    Nous serons aussi perdu si tu ne nous donne pas plus de code.
    Si j'ai bien compris tu as un formulaire et lorsque celui-ci est rempli tu souhaite récupérer l'auteur correspondant dans une autre liste?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  3. #3
    Invité
    Invité(e)
    Par défaut
    bonjour,
    Citation Envoyé par abbescr7 Voir le message
    liste deroulante php mysql ajax javascript
    Tu as oublié html !

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    Non c pas tout a fait ça je veux quand je remplis mon formulaire dans la base je trouve le nom de l'auteur pas son id voila mon code
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <script type='text/javascript'>
    function getXhr(){
        var xhr = null;
        if(window.XMLHttpRequest) // Firefox et autres
    	xhr = new XMLHttpRequest(); 
        else if(window.ActiveXObject){ // Internet Explorer 
    	try {
    	    xhr = new ActiveXObject("Msxml2.XMLHTTP");
    	} catch (e) {
    	    xhr = new ActiveXObject("Microsoft.XMLHTTP");
    	}
        }
        else { // XMLHttpRequest non supporté par le navigateur 
    	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
    	xhr = false; 
        } 
        return xhr;
    }
    /**
    * Méthode qui sera appelée sur le click du bouton
    */
    function go(){
    	var xhr = getXhr();
    	// On défini ce qu'on va faire quand on aura la réponse
    	xhr.onreadystatechange = function(){
    		// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
    		if(xhr.readyState == 4 && xhr.status == 200){
    			leselect = xhr.responseText;
    			// On se sert de innerHTML pour rajouter les options a la liste
    			document.getElementById('livre').innerHTML = leselect;
    		}
    	}
    	// Ici on va voir comment faire du post
    	xhr.open("POST","ajaxlivre1.php",true);
    	// ne pas oublier ça pour le post
    	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    	// ne pas oublier de poster les arguments
    	// ici, l'id de l'auteur
    	sel = document.getElementById('auteur');
    	idauteur = sel.options[sel.selectedIndex].value;
    	xhr.send("idauteur="+auteur);
    }
    </script>
    formulaire.php
    Code html : 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
    <label>Auteurs</label>
    <select name='auteur' id='auteur' onchange='go()'>
    	<option value='-1'>Aucun</option>
    <?php
    mysql_connect("localhost","root","abbes");
    mysql_select_db("test");
    $res = mysql_query("SELECT * FROM auteur ORDER BY nom");
    while($row = mysql_fetch_assoc($res)){
            echo "<option value='".$row["id"]."'>".$row["nom"]."</option>";
    }
    ?>
    </select>
    <label>Livres</label>
    <div id='livre' style='display:inline'>
    	<select name='livre'>
    		<option value='-1'>Choisir un auteur</option>
    	</select>
    </div>
    ajaxLivre1.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    echo "<select name='livre'>";
    if(isset($_POST["Auteur"])){
    	mysql_connect("localhost","root","abbes");
    	mysql_select_db("test");
    	$res = mysql_query("SELECT id,titre FROM livre 
    		WHERE Auteur=".$_POST["Auteur"]." ORDER BY titre");
    	while($row = mysql_fetch_assoc($res)){
    		echo "<option value='".$row["id"]."'>".$row["titre"]."</option>";
    	}
    }
    echo "</select>";
    ?>

  5. #5
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Dans ton JS tu as des variables voitures et marque document.getElementById('vehicule').innerHTML = leselect;.
    Alors que ta liste a pour identifiant auteur
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  6. #6
    Invité
    Invité(e)
    Par défaut
    et... tu ne sais pas récupérer dans la base de données le nom de l'auteur en fonction de son id ?

    Indice : via le fichier php appelé en Ajax, par exemple...

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    Citation Envoyé par Kreepz Voir le message
    Dans ton JS tu as des variables voitures et marque document.getElementById('vehicule').innerHTML = leselect;.
    Alors que ta liste a pour identifiant auteur
    desolé je me suis trempé c tt j'ai modifier ma reponse

  8. #8
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Je le voie toujours dans ton code JS...
    Et pour l'instant que ce passe t'il lorsque tu selectionne un auteur?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    encore désolé c bon j'ai tout modifie
    apres avoir rempli le formulaire les données sont envoyé a la table euuh ( par exemple biblio ) je veux que dans la colonne auteur je trouve le nom de l'auteur pas son id ; sachant que j'ai en plus deux table auteur et livre !

  10. #10
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Et que vaut le champs Auteur dans ta BDD?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    je n sais pas si j'ai bien compris ta question ! ya deux liste deroulante qui sont liée la 1ere j'ai deux auteur lorsque je choisi le 1er la deuxieme liste génère tout ses livre ainsi de suite ! mais en fonction de son id , la table auteur est constitué de 2 colonne id nom et la table livre de 3 id nom idauteur ,
    quand j'envoie les donnée a la base l'id de l'auteur et envoyé a la table biblio dans la colonne auteur
    stp dit moi que tu ma compris !

  12. #12
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    J'ai compris!!

    Et ta requête est fausse (si j'ai vraiment compris):

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query("SELECT id,titre FROM livre WHERE Auteur=".$_POST["Auteur"]." ORDER BY titre");

    Elle est incomplète. Il faut que tu récupère tous les livres pour un auteur. Donc tu dois utiliser la table bliblio.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?php
    echo "<select name='livre'>";
    if(isset($_POST["idAuteur"])){
    	mysql_connect("localhost","root","abbes");
    	mysql_select_db("test");
    	$res = mysql_query("SELECT id,titre FROM livre 
    		WHERE idAuteur=".$_POST["idAuteur"]." ORDER BY titre");
    	while($row = mysql_fetch_assoc($res)){
    		echo "<option value='".$row["id"]."'>".$row["titre"]."</option>";
    	}
    }
    echo "</select>";
    ?>

  14. #14
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Si je ne m'abuse tu n'as pas de champ idAuteur dans la table livre?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  15. #15
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    mais si !!
    Code sql : 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
    29
    30
    31
     CREATE TABLE `auteur` (
      `id` tinyint(4) NOT NULL auto_increment,
      `nom` varchar(50) NOT NULL,
      PRIMARY KEY  (`id`)
    );
     
    insert into `auteur` values 
    (1,'Clive Cussler'),
    (2,'Harlan Coben'),
    (3,'Franck Herbert'),
    (4,'Pierre Bordages');
     
    CREATE TABLE `livre` (
      `id` tinyint(4) NOT NULL auto_increment,
      `titre` varchar(50) NOT NULL,
      `idAuteur` tinyint(4) default NULL,
      PRIMARY KEY  (`id`)
    ) ;
     
    insert into `livre` values 
    (1,'Odyssee',1),
    (2,'Sahara',1),
    (3,'Dragon',1),
    (4,'Une chance de trop',2),
    (5,'Ne le dis a personne',2),
    (6,'Disparu à jamais',2),
    (7,'Dune',3),
    (8,'La barriere de santaroga',3),
    (9,'Les guerriers du silence',4),
    (10,'La citadelle hyponeros',4),
    (11,'Terra mater',4);

  16. #16
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Autant pour moi !
    Et ça ne fonctionne pas?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  17. #17
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par abbescr7 Voir le message
    ... quand je remplis mon formulaire dans la base
    Cette phrase ne veut rien dire.
    Le "formulaire" ne se remplit pas "dans la base" (de données ?).

    Explique clairement ton problème, et on pourra t'aider à le résoudre.

  18. #18
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2015
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Algérie

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 136
    Points : 52
    Points
    52
    Par défaut
    ça fonctionne mais au niveau de la table biblio dans le champ auteur je trouve son id pas son nom a cause de la valeur du select
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    mysql_connect("localhost","root","abbes");
    mysql_select_db("test");
    $res = mysql_query("SELECT * FROM marque ORDER BY nom");
    while($row = mysql_fetch_assoc($res)){
    	echo "<option value='".$row["id"]."-".$row["nom"]."'>".$row["nom"]."</option>";
    }
    ?>
    je n peux pas changer la valeur psk code js fait si on veut une sorte de jointure id (table auteur) avec idAuteur (table livre)

  19. #19
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Points : 1 458
    Points
    1 458
    Billets dans le blog
    1
    Par défaut
    Pourrais tu prendre le temps d'écrire? Et de vérifier avant de poster tu nous a posté le mauvais code...
    Sinon je pense avoir compris:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $res = mysql_query("SELECT id,titre, nom FROM livre INNER JOIN auteur(livre.idAuteur = auteur.id) WHERE idAuteur=".$_POST["idAuteur"]." ORDER BY titre");

    Du coup (si je n'ai pas raté la jointure ) tu peux utiliser le nom de l'auteur.
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  20. #20
    Invité
    Invité(e)
    Par défaut
    c'est une question de JOINTURE entre tables.
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    "SELECT L.id, L.titre, A.nom
    FROM livre AS L
    INNER JOIN auteur AS A
      ON A.id = L.idAuteur
    WHERE idAuteur=".$_POST["idAuteur"]." 
    ORDER BY titre"

    N.B. Si mes remarques ne t'intéressent pas, tu le dis !

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] Affichage contenu liste déroulante /php mysql
    Par LiliValerie dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/09/2012, 15h21
  2. Réponses: 3
    Dernier message: 16/03/2011, 16h47
  3. [MySQL] Liste déroulante php & mysql
    Par soksabaidee dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/05/2010, 09h25
  4. [AJAX] Listes déroulantes dynamiques en AJAX
    Par ronang dans le forum AJAX
    Réponses: 1
    Dernier message: 24/03/2010, 10h18
  5. [AJAX] Listes déroulantes liées avec Ajax
    Par paupiette dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/08/2006, 16h51

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