[ajax] listes liées - Page 2

Précédent
  • 1
  • 2
  1. ReS3t
     
    Je pensais encore à autre chose, si jamais dans ma deuxieme liste au lieu qu'elle ne s'affiche qu'au moment d'avoir fait un choix dans la premiere. Si elle pouvait s'afficher directement en ayant le choix de tous les nom d'affaires et qu'apres choix, le résultat de la liste 1 s'applique, même si l'on en a pas plus vraiment besoin.
    Comment je dois procéder, parce qu'en remplaçant le div par select, cela m'affiche une liste vide donc et surtout qui ne prends pas la nouvelle liste qui est appelée (ce qui est normal ^^). Ou alors changer la forme sous laquelle se présente la requête appelée ???
    0
    1. qq
       
      Bonjour,

      je suis entrain d'integrer liste liée comportants les champs suivants:

      region,departement et ville mon probleme c'est si je choisis n'importe quelle region le champ departement reste vide et meme bien sur champ ville. J'ai cette fonction qui ne retourne pas resultat ça ce que j'ai remarquer, je sais pas si sa rentre a la structure de la bd alors que j'ai fait les champs selon les requetes select, et j'ai pas bien compris le $id c quoi c'est en ajax
      je vais vous donner ma fonction qui ne retourne pas resultat

      public function getRegionById($id)
      {
      $prepare = $this->prepare('SELECT region_id, region_name
      FROM region
      WHERE region_id = "'.$id.'"');
      $prepare->execute();
      $region = $prepare->fetchAll();

      return $region;
      }

      merci d'avance
      0
    2. qqq
       
      Bonjour,

      je veux integrer un dossier contenant liste liee en ajax mais je sais comment l'integrer sachant que ma liste liee est contenue dans un dossier, lorsque je clique sur ce dossier la liste liee s'affiche mais je sais pas comment mettre cette liste dans dans une page php, c-à-d comment je peux appeler ce dossier, qui contient tout les fichiers pour faire liste liée, dans une page php

      prière m'aider
      0
    3. scs
       
      Bonjour
      je veux savoir comment ajouter un quatrième niveau dans une liste liée comme l'exemple pubilée de region, departement, ville
      prière m'aider
      0
  2. ReS3t
     
    Par contre je n'arrive pas a faire en sorte que si je choisis directement dans ma seconde liste, le résultat de la premiere en soit définit automatiquement ??
    J'ai essayé de faire comme suit :
    - créer une autre page "reponseAjax" pour cette requête
    - j'ai bien mis l'espace <select> de la premiere liste dans un <div> afin que la liste soit remplacée par le résultat en fonction du choix dans la seconde liste

    et j'ai regardé le script, ne serait ce pas dans ce code la que je dois changer quelque chose ???
    0
  3. Alain_42 Messages postés 5413 Statut Membre 904
     
    en gros ce que tu veux

    liste 1

    liste 2 tous les enregistrements

    qd choix dans liste 1 ça réaffiche la liste 2 mais avec seulement ceux concernés par la liste1

    par contre je ne comprend pas trop ce que tu veux faire dans l'autre sens choix liste 2 vers affich liste 1
    0
  4. Alain_42 Messages postés 5413 Statut Membre 904
     
    pour le premier cas

    dans ta page tu mets dans le div qui va recevoir la réponse ajax une liste deroulante complete avec une boucle while qui va afficher tous les chargés d'affaire

    ajax viendra ensuite suite a un choix dans la liste 1 venir écraser cette liste et la remplacer par une qui correspondra seulement au choix fait dans la 1
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ReS3t
     
    J'avoue ne pas voir ce qui cloche, j'ai essayé de plusieurs maniere mais le mieux que j'ai pu avoir est une liste vide...
    Et maintenant j'ai une parse error a la ligne 19.. :/

    1 <?php
    2 session_start();
    3 ?>

    5 <?php

    7 $user="root";
    8 $host="localhost";
    9 $bdd="terawatt2";
    10 mysql_connect($host,$user) or die("Erreur de connexion au serveur SQL");
    11 mysql_select_db($bdd);

    13 $NomAff=$_SESSION['Localiser'];

    15 $sql_local="SELECT * FROM affaire WHERE nomAffaire='.$NomAff[nomAffaire].' AND villeAffaire='.$NomAff[villeAffaire].';";
    16 $list_local=mysql_query($sql_local) or die("Erreur de connexion au serveur SQL 4");
    17 $Nom_local='<select>';
    18 $Donnees_local = mysql_fetch_array($list_local)
    19 while ($Donnees_local = mysql_fetch_array($list_local))
    20 {
    21 $Nom_local.='<option value='.$Donnees_local['Localisation'].'>'.$Donnees_local['Localisation'].'</option>';
    22 }
    23 $Nom_local.='</select>';
    24 echo $Nom_local;
    25 ?>

    Et a part la requête qui pourrait peut etre ne pas aller, je ne vois pas d'ou vient le probleme :/
    A moins qu'il ne faille modifier le script ?
    0
  7. ReS3t
     
    J'ai enlevé la ligne 18, que j'avais pas vu pour le coup, et du coup j'ai une liste de vide sans erreur ni rien... :/
    Je comprends vraiment pas.. :/
    0
  8. Alain_42 Messages postés 5413 Statut Membre 904
     
    un petit oubli de ; ligne 18

    sinon pourquoi utilises tu les sessions alors que tu peux très bien passer plusieurs valeurs par Ajax ?

    <?php
    session_start();
    ?>
    
     <?php
    
     $user="root";
     $host="localhost";
     $bdd="terawatt2";
     mysql_connect($host,$user) or die("Erreur de connexion au serveur SQL");
     mysql_select_db($bdd);
    
     $NomAff=$_SESSION['Localiser'];
    
     $sql_local="SELECT * FROM affaire WHERE nomAffaire='.$NomAff[nomAffaire].' AND villeAffaire='.$NomAff[villeAffaire].';";
    $list_local=mysql_query($sql_local) or die("Erreur de connexion au serveur SQL 4");
     $Nom_local='<select>';
     $Donnees_local = mysql_fetch_array($list_local); //il te manqait le ; 
     while ($Donnees_local = mysql_fetch_array($list_local))
     {
     $Nom_local.='<option value='.$Donnees_local['Localisation'].'>'.$Donnees_local['Localisation'].'</option>';
     $Nom_local.='</select>';
     echo $Nom_local;
     ?> 
     
     ou autre solution qui t'affichera toute la liste 1 mais avec la ville selected
     
     <?php
    
     $user="root";
     $host="localhost";
     $bdd="terawatt2";
     mysql_connect($host,$user) or die("Erreur de connexion au serveur SQL");
     mysql_select_db($bdd);
    
     $NomAff=$_SESSION['Localiser'];
    //recherche de la ville en fct du choix liste 2
     $sql_local="SELECT * FROM affaire WHERE nomAffaire='.$NomAff[nomAffaire].' AND villeAffaire='.$NomAff[villeAffaire].';"; 
    $list_local=mysql_query($sql_local) or die("Erreur de connexion au serveur SQL 4");
    //il doit y en avoir qu'une ?
    $donnee_loc=mysql_fetch_array($list_local);
    $localisation=$donnee_loc['Localisation']; //la ville
    //on genere la liste entière avec un select sur la ville ci dessus
    	$sql2="SELECT * FROM affaire";
    	$result2=mysql_query($sql2) or die("Erreur de connexion au serveur SQL 4");
     $liste='<select>';
     while ($donnees_liste = mysql_fetch_array($result2))
     {
     $liste.='<option value='.$donnees_liste['Localisation'].'';
     if($donnees_liste['Localisation'] == $localisation){ $liste.=' selected';} //la ville est preselectionnée
     $liste.= ' >'.$donnees_liste['Localisation'].'</option>';
     $liste.='</select>';
     echo $liste;
     ?> 
    0
  9. ReS3t
     
    Oui en fait la ligne 18 etait inutile du coup je l'ai virée, et j'ai essayé les session, parce qu'avec post je n'avais pas de resultat non plus donc c'etait plus pour voir que par interet.

    Par contre j'ai essayé de reprendre et modifier ton code à ma guise seulement il m'affiche tout le temps une "parse error" a la derniere ligne, alors que tout est niquel :/
    Ou sinon si j'enleve le morceau de code du while a la fin, il me dit que la variable n'est pas définit, ainsi que les occurences demandées (undefined index "blabla").

    Je vois aussi que dans le script que tu as fais il y a :
    if (!http_request)
    {
    alert('Abandon :( Impossible de créer un objet XMLHTTP');
    return false;
    }
    //Affectation de la fonction appelée quand on recevra la réponse
    http_request.onreadystatechange = function()
    {
    traitementReponse(http_request,id_ecrire);
    }
    // Lancement de la requête
    http_request.open('POST', url, true);
    http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    obj=document.getElementById(id_lire); //Lecture de la valeur selectionnée dans la liste "Localisation"
    data="Localisation="+obj.value; //Envoi de la valeur au script PHP en 'POST'
    http_request.send(data);
    }
    0
  10. ReS3t
     
    Désolé je n'arrive pas a trouver pour editer le post, mais cela ne viendrait pas de là (de ce morceau de script) ?
    0
  11. Alain_42 Messages postés 5413 Statut Membre 904
     
    quand php indique une erreur en fin de script c'est qu'il manque une }

    c'était bien le cas:

    <?php
    
     $user="root";
     $host="localhost";
     $bdd="terawatt2";
     mysql_connect($host,$user) or die("Erreur de connexion au serveur SQL");
     mysql_select_db($bdd);
    
     $NomAff=$_SESSION['Localiser'];
    //recherche de la ville en fct du choix liste 2
     $sql_local="SELECT * FROM affaire WHERE nomAffaire='.$NomAff[nomAffaire].' AND villeAffaire='.$NomAff[villeAffaire].';"; 
    $list_local=mysql_query($sql_local) or die("Erreur de connexion au serveur SQL 4");
    //il doit y en avoir qu'une ?
    $donnee_loc=mysql_fetch_array($list_local);
    $localisation=$donnee_loc['Localisation']; //la ville
    //on genere la liste entière avec un select sur la ville ci dessus
    	$sql2="SELECT * FROM affaire";
    	$result2=mysql_query($sql2) or die("Erreur de connexion au serveur SQL 4");
     $liste='<select>';
     while ($donnees_liste = mysql_fetch_array($result2))
     {
     $liste.='<option value='.$donnees_liste['Localisation'].'';
     if($donnees_liste['Localisation'] == $localisation){ $liste.=' selected';} //la ville est preselectionnée
     $liste.= ' >'.$donnees_liste['Localisation'].'</option>';
     } //il manquait cette accolade
     $liste.='</select>';
     echo $liste;
     ?> 
    
    0
  12. Alain_42 Messages postés 5413 Statut Membre 904
     
    concernant Ajax:



    data="Localisation="+obj.value; //Envoi de la valeur au script PHP en 'POST'
    http_request.send(data);


    envoie la valeur selectionnée dans la liste2

    et dans le script php appelé tu récupères par $nom_affaire=$_POST['Localisation'];

    mais je n'y a -t-il pas de confusion entre nom affaire et localisation affaire ?
    0
  13. ReS3t
     
    Non je ne pense pas qu'il y ait confusion seulement "Localisation" est non seulement une occurence de ma table AFFAIRE, mais aussi le nom de ma premiere liste c'est pour ça, je pensais que ça venait de la, et qu'il fallait aussi integrer ma deuxieme liste au script.

    Merci de m'avoir appris ce que ça signifiait ^^ et ça me dit toujours que ce n'est pas définit... en parlant de : la seconde liste que j'ai reprise en POST, et de l'occurence villeAffaire
    0
  14. Alain_42 Messages postés 5413 Statut Membre 904
     
    Si tu est inscript sur le forum tu dois pouvoir m'envoyer un mail en MP avec ton adresse, comme ça on pourra envoyer les scripts en pièce jointe.

    Enfin si tu es ok pour ça
    0
    1. ReS3t
       
      Non je ne suis pas inscrit c'est pour ça ^^

      sinon mon adresse c'est celle qui suit : kuro point koara mailto hotmail point france

      ^^
      0
  15. vincent.roye Messages postés 1 Statut Membre
     
    Salut,

    Vous pouvez lire mon post à ce sujet sur mon site, il y a un exemple de 3 listes liées et rafraichies avec Ajax.
    http://www.vincentroye.com/?p=339
    Continent -> Country -> City
    Simple et intuitif ;)

    Cordialement,

    Vincent Roye.
    0
  16. lanner
     
    Bonjour

    Je cherche désespérement à faire 3 listes liées à partir d'une base de donnée qui comporte les champs suivants :
    marque, type, contenu et au final si on envoi que cela affiche tous les vehicules de la marque , type et contenu séléctionné
    Voila si je pouvais avoir un peu d'aide et de votre temps
    vincent.roye super ton site avec les 3 menu c'est exactement le principe que je recherche avec au final l'affichage des articles qui correspondent
    Si une petite archive pouvait être mises à disposition ou transcrit :)
    Merci d'avance
    0
  17. Denis
     
    Bonjour,

    Je viens de mettre en ligne un tuto pour résoudre le problème avec du XHR :
    http://www.denisbillo.com/fr/informatique/php-listes-liees-select.php
    0
Précédent
  • 1
  • 2