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

PHP & Base de données Discussion :

Contrôle des doublons [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut Contrôle des doublons
    Bonjour tout le monde,
    je suis en train de créer une table d'user mais j'ai un probleme!
    Comment contrôler les doublons au niveau du mail ou du nom d'user par exemple?

    merci d'avance

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben tu fais un select sur ce que tu veux inserer avant
    si ca te retourne un enreg c est qu il y est deja

  3. #3
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    Bin en mysql direct j'y arrive aisement mais en php j'ai essayé ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function controle_doublon($element, $table, $element_saisie)
    {
    	$verif_res = mysql_query("SELECT $element FROM $table WHERE $element=\"$element_saisie\"");
    	$verif = mysql_fetch_array($verif_res);
    			if($verif==array())
    			{
    				return true; 
    			}
    			else
    			{
    				return false;
    			}

  4. #4
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut Re: [mysql/php]Contrôle des doublons
    Citation Envoyé par samjung
    Bonjour tout le monde,
    je suis en train de créer une table d'user mais j'ai un probleme!
    Comment contrôler les doublons au niveau du mail ou du nom d'user par exemple?

    merci d'avance
    le mail est unique donc pas de doublon. A moins que plusieur utilisateur utilisent la meme adresse. Pour ce qui est du nom, fais comme te l'a indique siddh.

  5. #5
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function controle_doublon($element, $table, $element_saisie)
    {
       $verif_res = mysql_query("SELECT $element FROM $table WHERE $element=\"$element_saisie\"");
       $verif = mysql_fetch_array($verif_res);
             if(mysql_num_rows($verif) > 0)
             {
                return true;
             }
             else
             {
                return false;
             }
    je pense que cela devrait fonctionner

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    Merci pour les réponses!

    maintenant j'ai:

    Fatal error: Call to undefined function: my_sql_num_rows()



    (désolé c'est peut-être un truc tout bête mais je suis pas encore gourou php )

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    mysql pas my_sql

    t es surtout pas un gourou du copier coller :p

  8. #8
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    lol en effet chui surtout gourou pas malin là ^^;;

  9. #9
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 949
    Points : 730
    Points
    730
    Par défaut
    met un index unique aussi sur tes tables devant etre uniques !

    mais pas sur un mot de passe!

    si on trouve un mot de passe unique, suffit de tester les pseudo les plus courants...

    si tu met un index unique, il faut verifier, lors de ton insertion si t'a pas une erreure, sit 'en a une tu recupere le errno et si c'est celui des doublon t'a tout bon

  10. #10
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    j'avais pense aussi a l'index unique, mais le probleme c'est le nom. Plusieur personnes peuvent avoir le meme prenom, nom.

    Cela fonctionnerait pour l'email, mais ca oblige de recuperer l'erreur et de l'analyser pour ne pas faire l'action. Esst ce que sa fonction ne suffit pas?

  11. #11
    Membre éclairé Avatar de hansaplast
    Homme Profil pro
    Artisant logiciel
    Inscrit en
    Septembre 2005
    Messages
    949
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Artisant logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 949
    Points : 730
    Points
    730
    Par défaut
    quels doublons veut tu eviter alors?

    si c'est le couple nom-prenom, tu peut aussi, mais la encore, tu peut avoir deux personnes avec le meme nom-prenom.

    si, sa fonction suffit totalement

    et comme il diarait :
    je

  12. #12
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    Bin en faite je suis sur un gros projet et je cherche à créer une fonction générique que j'appelerais a chaque fois que l'utilisateur saisira une info!

  13. #13
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    mayday mayday j'ai encore une nouvelle erreur

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

    D'apres le code d'erreur ce serait sur cette ligne "if(mysql_num_rows($verif) > 0) "

  14. #14
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    desole j'ai fait une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function controle_doublon($element, $table, $element_saisie)
    {
       $verif_res = mysql_query("SELECT $element FROM $table WHERE $element=\"$element_saisie\"");
             if(mysql_num_rows($verif_res) > 0)
             {
                return true;
             }
             else
             {
                return false;
             }

  15. #15
    Nouveau membre du Club
    Inscrit en
    Avril 2004
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Pour faire une requete sans doublon utilise distinct:
    select distinct(email), nom_user etc.
    Je sais que c'est pas exactement ton probleme vu que tu veux faire une fonction de controle, mais c'est utile a savoir

  16. #16
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 54
    Points : 37
    Points
    37
    Par défaut
    merci ca marche !!ayai je te nomme official php guru

  17. #17
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Citation Envoyé par samjung
    merci ca marche !!ayai je te nomme official php guru
    merci, merci.
    [mode=maitre yoda] Gourou je ne suis, car aujourd'hui plein de choses j'ai appris ici[/mode=maitre yoda]

    au fait pense a mettre le tag resolu ! merci

  18. #18
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    penses a mettre résolu sur le sujet.

    Si tu as un autre probleme tu en fera un nouveau

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/05/2014, 15h39
  2. Trigger: contrôle des doublons à l'insertion
    Par petitediablesse dans le forum PL/SQL
    Réponses: 11
    Dernier message: 27/09/2013, 15h36
  3. [XL-2003] Contrôle des doublons sur plusieurs feuilles, puis suppression
    Par DeathLighT dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 04/03/2013, 13h14
  4. contrôle des doublons sur plusieurs champs
    Par christy1 dans le forum Modélisation
    Réponses: 3
    Dernier message: 09/12/2011, 15h13
  5. Trigger: contrôle des doublons à l'insertion
    Par CaptainT dans le forum PL/SQL
    Réponses: 25
    Dernier message: 20/09/2007, 10h45

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