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

JavaScript Discussion :

[AJAX] Gestion de doublons


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [AJAX] Gestion de doublons
    Bonjour,

    Voilà mon souci : J'ai trois champs. Un nom de famille, prénom et date de naissance.

    En ajax, j'ai l'autocompletion sur le nom et le prénom, mais lorsque que j'ai un doublon, c'est à dire plusieurs mêmes noms et prénoms dans le div d'affichage, j'aimerai les différencier par un autre div qui afficherai leur date de naissance.

    Cependant, j'ai aucune idée pour le moment de traiter ce genre d'exception. Les informations viennent via une page php sous les balise <li></li> et je ne vois pas comment reconnaitre un doublon.

    En faisant une (ou deux ?) boucle for ? En mettants mes infos au format JSON ?

    Merci de m'aider !


    // Je vous met le code php que j'ai si ça peut vous aider:
    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
    // $arg1 = Valeur du nom de famille 
    // $arg2 = Valeur du prénom  
    // $cp = champ où la lettre a été tappée 
     
    function get_name($arg1,$arg2,$cp) {
     
    		$sql = "SELECT peoId,peLastName,peFirstName FROM ".table(2)." WHERE ";
    			if(isset($arg1))
    				$sql .= " peLastName LIKE '".$arg1."%' ";
    			if(isset($arg1) && isset($arg2))
    				$sql .= " AND ";
    			if(isset($arg2))
    				$sql .= " peFirstName LIKE '".$arg2."%' ";
     
    		$sql .= " ORDER BY ".$cp." ASC LIMIT 0,20";
    		$query = mysql_query($sql);
    		$total = mysql_num_rows($query);
    			echo "<ul>";
    		if($total==0)
    			echo "<li onClick='createPeople()'>Créer</li>";
    		else {
    			switch($cp) {
    				case "peLastName" : 
    				while($tab  = mysql_fetch_array($query)) {
    				echo "<li onClick='afficher_credit(".$tab['peoId'].")'>".$tab["peLastName"]." ".$tab["peFirstName"]."</li>";
    				}
    				break;
    				case "peFirstName": while($tab  = mysql_fetch_array($query)) {
    				echo "<li onClick='afficher_credit(".$tab['peoId'].")'>".$tab["peFirstName"]." ".$tab["peLastName"]."</li>";
    				}
    				break;
    			}
     
    		}
     
    	}

  2. #2
    Membre actif
    Inscrit en
    Mars 2004
    Messages
    290
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 290
    Points : 217
    Points
    217
    Par défaut
    Bonjour,

    peut-être une piste.
    Voici l'idée que j'ai :
    rajout du champ de la date de naissance (l1 de la fonction).
    Ensuite dans ta boucle affichant les personnes correspondant aux critères d'auto-complétion, test via une requête et l'enregistrement courant si il y a doublon. Et rajout dans la variable $date_naissance en cas de doublon.
    A mon avis, il faudra affiner cette requête de doublons en la testant un peu.
    Dis moi ce que tu en penses, ce que ça donne, et on affinera pour aboutir à la solution.

    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
     
    	function get_name($arg1,$arg2,$cp) {
     
    		$sql = "SELECT peoId,peLastName,peFirstName,date_de_naissance FROM ".table(2)." WHERE ";
    			if(isset($arg1))
    				$sql .= " peLastName LIKE '".$arg1."%' ";
    			if(isset($arg1) && isset($arg2))
    				$sql .= " AND ";
    			if(isset($arg2))
    				$sql .= " peFirstName LIKE '".$arg2."%' ";
     
    		$sql .= " ORDER BY ".$cp." ASC LIMIT 0,20 ";
    		$query = mysql_query($sql);
    		$total = mysql_num_rows($query);
    			echo "<ul>";
    		if($total==0)
    			echo "<li onClick='createPeople()'>Créer</li>";
    		else {	
    			switch($cp) {
    				case "peLastName" : 
    				while($tab  = mysql_fetch_array($query)) {
                        sql="peLastName FROM ".table(2)." 
    					WHERE peLastName='".$tab["peLastName"]."' AND peFirstName='".$tab["peFirstName"]."' ";
    					$req_doublons=mysql_query($sql);
    					$date_naissance=(mysql_num_rows($req_doublons)>1)?" ".$tab["date_de_naissance"]:"";
     
    					echo "<li onClick='afficher_credit(".$tab['peoId'].")'>".$tab["peLastName"]." ".$tab["peFirstName"].$date_naissance."</li>";
    				}
    				break;
    				case "peFirstName": while($tab  = mysql_fetch_array($query)) {
    	                 sql="peLastName FROM ".table(2)." 
    					WHERE peLastName='".$tab["peLastName"]."' AND peFirstName='".$tab["peFirstName"]."' "; 
    					GROUP BY peLastName,peFirstName";
    					$req_doublons=mysql_query($sql);
    					$date_naissance=(mysql_num_rows($req_doublons)>1)?" ".$tab["date_de_naissance"]:"";
    					echo "<li onClick='afficher_credit(".$tab['peoId'].")'>".$tab["peFirstName"]." ".$tab["peLastName"].$date_naissance."</li>";
    				}
    				break;
    			}
     
    		}

Discussions similaires

  1. Gestion des doublons et dlookup
    Par bestall666 dans le forum Access
    Réponses: 5
    Dernier message: 14/02/2007, 23h01
  2. Gestion de doublon dans un champ
    Par edonis dans le forum Access
    Réponses: 6
    Dernier message: 10/09/2006, 21h33
  3. Tri et gestion de doublons
    Par Ygster dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 26/04/2006, 16h00
  4. Problème de gestion de doublons
    Par EJ dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/02/2006, 19h35
  5. [Débutant] [JComboBox] Gestion de doublons
    Par nounetmasque dans le forum Composants
    Réponses: 2
    Dernier message: 04/05/2005, 15h08

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