Bonjour,
Je début en BDD et je rencontre un soucis au sujet de la verification d'un doublon afin de valider un formulaire.
Le formulaire comporte deux champs : "Nom" et "Prenom".
Une fois le formulaire "Valider", il verifie que le "Nom" et Prenom" n'existe pas de facon binaire. Si les deux valeurs se retrouve à 1, il ne valide pas le formulaire :
Donc quand je valide il se produit la chose suivante :
***Formulaire***
Nom = Toto
Prenom = Jean-Pierre
***Verification après validation***
"Toto" existe-t-il dans la collone nom ? "NON" donc "0"
"Jean-Pierre" existe-t-il dans la collone prenom ? "NON" donc "0"
Je valide le formulaire
***Formulaire***
Nom = Toto
Prenom = Olivier
***Verification après validation***
"Toto" existe-t-il dans la collone nom ? "OUI" donc "1"
"Olivier" existe-t-il dans la collone prenom ? "NON" donc "0"
Je valide le formulaire
***Formulaire***
Nom = Dupuis
Prenom = Jean-Pierre
***Verification après validation***
"Dupuis" existe-t-il dans la collone nom ? "NON" donc "0"
"Jean-Pierre" existe-t-il dans la collone prenom ? "OUI" donc "1"
Je valide le formulaire
Et le probleme est ICI :
***Formulaire***
Nom = Dupuis
Prenom = Olivier
***Verification après validation***
"Dupuis" existe-t-il dans la collone nom ? "OUI" donc "1"
"Olivier" existe-t-il dans la collone prenom ? "OUI" donc "1"
Je valide le formulaire
Effectivement, il existe bien un "Dupuis" et un "Olivier" dans la collone "Nom" et "Prenom" de la base de donnée mais le "Dupuis" correspond à "Dupuis Jean-Pierre" et "Olivier" à "Toto Olivier".
Ma solution pour résoudre ceci est que si l'on obtient "1" pour le nom et "1" pour le prenom, c'est de verifier que l'ID du "Nom" et du "Prenom" ne soit pas identique. Dans le cas contraire, effectivement, il y a un doublon !
J'espere avoir été claire...
Voici un schema de la base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 | idClient | nomClient | prenomClient || Binaire Nom | Binaire Prenom| |_________|__________|_____________||____________|_____________| | 1 | Toto | Jean-Pierre || 0 | 0 | |_________|__________|_____________||___________________________ | 2 | Toto | Olivier || 1 | 0 | |_________|__________|_____________||___________________________ | 3 | Dupuis | Jean-Pierre || 0 | 1 | |_________|__________|_____________||__________________________ | 4 | Dupuis | Olivier || 1 | 1 | |_________|__________|_____________||___________________________
Voici mon code :
En attente d'un retour.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $vernom = "SELECT * FROM client WHERE nomClient='$nomClient'"; $verprenom = "SELECT * FROM client WHERE prenomClient='$prenomClient'"; $nom=mysql_query($vernom); $prenom=mysql_query($verprenom); if ((mysql_num_rows($nom) != 0) && (mysql_num_rows($prenom) != 0)) { echo "<H1>Attention, une fiche client existe deja avec le même nom et prenom.</H1>"; }else{ echo "<H1>Je rentre les informations dans la base."</H1>
Cordialement
Partager