[RESOLU] select 1=>select 2

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] select 1=>select 2

Re: [RESOLU] select 1=>select 2

par laplumaencre » 12 oct. 2015, 09:47

oui c'est vraiment cool merci encore !
Dis moi, en ajax, tu sais faire un appel a une fonction toutes les 5s qui remplit un <p>, un exemple.

Re: [RESOLU] select 1=>select 2

par @rthur » 12 oct. 2015, 02:44

Ravi d'avoir pu t'aider, et maintenant tu sais débuguer de l'ajax ! :)

Re: select 1=>select 2

par laplumaencre » 09 oct. 2015, 22:27

yahoooooooooooo !! Merci grâce à ton astuce j'ai pu déboggé seul, merci encore !
Sinon c’était une bête erreur d'apostrophes dans ma requête mysql....
Bon maintenant que j'ai réussi à l’adapté à mes besoins, je vais pouvoir ajouter 2 , 3 trucs pour qu'il soit parfait :-D
du coup j’attends un peu pour mettre résolu, qu'il soit vraiment finaliser.

EDIT =>
Voilà j'ai ajouté une fonction de plus et tout est ok . Encore un grand merci pour l'astuce de débogage.
a bientôt !

Re: select 1=>select 2

par laplumaencre » 09 oct. 2015, 21:51

ok merci pour ces infos, je vais essayé de debugger comme ça et reviens pour vous dire où ça en est. Merci.

Re: select 1=>select 2

par @rthur » 09 oct. 2015, 19:02

Pour debuguer des requêtes ajax, la solution la + basique est d'utiliser la console de développement de ton navigateur (Ctrl+i), puis dans l'onglet réseau tu verras les requêtes qui sont effectuées et en cliquant sur les requêtes tu verras la réponse du serveur (et les éventuels avr_dump que tu auras effectués.
N'oublie pas aussi de regarder la console javascript (idem dans Ctrl+i) et les logs PHP directement sur ton serveur pour gagner du temps.

Re: select 1=>select 2

par laplumaencre » 09 oct. 2015, 12:02

Personne n'a une idée ? :d

Re: select 1=>select 2

par laplumaencre » 08 oct. 2015, 16:05

En fait j'arrive pas debugger avec des var_dump ou printr comme je fais d'habitude, rien s'affiche, pas d'erreur, juste le 2eme select qui passe de choisir jaaser à vide...

Re: select 1=>select 2

par or 1 » 08 oct. 2015, 16:00

que dit la console quand une sélection est faite dans la 1ère liste ? une url est-elle bien appelée ? quand on ouvre cette url, on a bien le json attendu ?

select 1=>select 2

par laplumaencre » 08 oct. 2015, 14:08

Salut à tous !
Bon je post car j'ai un soucis avec un script ajax que j'ai récupéré sur le net pour le modifier, oui je l'ai pas créé car je connais pas javascript, ajax et tous ça...
Le probleme est courant mais pas facile, j'ai un premier select avec des langues (parlé pas de boeuf :D ) et suivant la langue choisis, un 2eme select va se remplir avec le resultat de ma requete php/sql qui dit " cherche users dans la table inscription qui parle lang= $lang", en gros c'est ça voir code en dessous.
Et donc pour l'instant j'ai bien mon premier select qui se remplit via bdd mais dès que je choisis une langue le 2eme select est vide.....

Voici le code html/ajax (pas de balise html car c'est une page incluse dans un conteneur div et jaaser c'est un user) :

Code : Tout sélectionner

<?php include 'config-connexion.php'; include 'select_chat_accueil.php'; ?> <script type="text/javascript" > $(document).ready(function() { var $lang = $('#lang'); var $choisir_jaaser = $('#choisir_jaaser'); // chargement des langues $.ajax({ url: 'select_chat_accueil.php', data: 'go', // on envoie $_GET['go'] dataType: 'json', // on veut un retour JSON success: function(json) { $.each(json, function(index, value) { // pour chaque noeud JSON // on ajoute l option dans la liste $lang.append('<option value="'+ index +'">'+ value +'</option>'); }); } }); // à la sélection d une langue de la liste $lang.on('change', function() { var val = $(this).val(); // on récupère la valeur de la langue if(val != '') { $choisir_jaaser.empty(); // on vide la liste des users $.ajax({ url: 'select_chat_accueil.php', data: 'id_lang='+ val, // on envoie $_GET['id_lang'] dataType: 'json', success: function(json) { $.each(json, function(index, value) { $choisir_jaaser.append('<option value="'+ index +'">'+ value +'</option>'); }); } }); } }); }); </script> <select id="lang" name="lang"> <option value="">-- Langue --</option> </select> <select id="choisir_jaaser" name="choisir_jaaser"> <option value="">-- utilisateur--</option> </select>
Voici le php :

Code : Tout sélectionner

<?php if(isset($_GET['go']) || isset($_GET['id_lang'])) { // connexion à la base de données try { $bdd = new PDO ('mysql:host=localhost;dbname=xxx;charset=utf8', 'root', ''); $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $json = array(); if(isset($_GET['go'])) { // requête qui récupère les langues $requete = "SELECT lang FROM langue ORDER BY lang"; // exécution de la requête $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo())); // résultats while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) { $json[$donnees['lang']][] = utf8_encode($donnees['lang']); } // envoi du résultat echo json_encode($json); } else if(isset($_GET['id_lang'])) { $id =$_GET['id_lang']; // requête qui récupère les users qui ont la langue choisi dans le premier select $requete = "SELECT users FROM inscription WHERE lang_1 = ". $id ." OR lang_2 = ". $id ." OR lang_3 = ". $id ." "; // exécution de la requête $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo())); // résultats while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) { // je remplis un tableau $json[$donnees['users']][] = utf8_encode($donnees['users']); } // envoi du résultat echo json_encode($json); } } ?>
Liens où j'ai trouver le script :
http://chez-syl.fr/2012/02/jquery-rempl ... tre-liste/

Voilà merci pour votre futur aide :-D