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 :

Tests d'existence pour un formulaire de recherche [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut Tests d'existence pour un formulaire de recherche
    bonjour ,

    j'essaye de mettre en place une verification pour un formulaire de recherche,

    la verif se base sur les valeur exitente dans la BDD

    je recupere 3 champs : numero nom et prenom

    voici le code :
    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
     
    $query1=$_POST['NOM'];
    $query2=$_POST['PRENOM'];
    $query3=$_POST['NUMERO'];
     
    //verification que le NOM est dans la BDD:
    $verifnom=mysql_query("select NOM from generale where NOM='$query1'");
     
     
    	if(mysql_num_rows($verifnom)==0)
    	{ 
    	echo "<b>Ce nom n'exite pas dans le plan de numérotation</b>";
    	exit;
           }
     
    //verification que le PRENOM est dans la BDD:
    $verifprenom=mysql_query("select PRENOM from generale where PRENOM='$query2'");
     
    	if(mysql_num_rows($verifprenom)==0) 
    	{
    	echo "<b>Ce prenom n'exite pas dans le plan de numérotation</b>";
    	exit;
    	}
    //verification que le NUMERO est attribué dans la BDD:
    $verifnumero=mysql_query("select ID_GENERALE from numerosda where NUMERO='$query3'");
     
    	if(mysql_num_rows($verifprenom)==0) 
    	{
    	echo "<b>le numero n'est pas attribué</b>";
    	exit;
    	}
     
    else 
    	{ je continue le traitement .....
    le probleme est le suivant :

    quand je tape un numero qui existe il me met le message Ce prenom n'exite pas dans le plan de numérotation

    quand je tape un numero qui n'existe pas il me met le message Ce prenom n'exite pas dans le plan de numérotation

    le code ne passe pas la boucle prenom

    je ne trouve pas mon erreur.

    pouvez vous m'aider ?

    merci d'avance

  2. #2
    Membre averti Avatar de FredPsy
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Décembre 2006
    Messages
    285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 285
    Points : 342
    Points
    342
    Par défaut
    Si j'ai bien saisi, tu veux vérifier l'ensemble des trois paramètres qui sont Numéro, Nom et Prénom. Si tu veux tous les vérifier en même temps, tu te compliques, donc tu pourrais faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $query1=$_POST['NOM'];
    $query2=$_POST['PRENOM'];
    $query3=$_POST['NUMERO'];
     
    //verification dans la BDD:
    $verifnom=mysql_query("select NUMERO, NOM, PRENOM from generale where NOM='$query1' and PRENOM='$query2' and NUMERO='$query3'");
     
     
        if(mysql_num_rows($verifnom)==0)
        { 
        echo "Rien n'existe dans le plan de numérotation pour ces paramètres $query1, $query2 et $query3";
            }
    Bonne soirée

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 114
    Points : 73
    Points
    73
    Par défaut
    En faite la recherche peut se faire sur le nom ou le prenom ou le numero
    ou les 3 en meme temps

    je veut que si les trois champs sont remplis , la priorité soit au numero ( puisqu'il est unique).

    j'essaye differente chose , mais j'ai un peu de mal ....

  4. #4
    Membre confirmé Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 38

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Points : 547
    Points
    547
    Par défaut
    Déjà une chose, si tu veux rechercher uniquement un numéro. comment ton code sait que tu n'veux rechercher qu'un numéro si tu ne lui dis pas?

    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
    42
    43
    44
    45
    46
    47
    48
    $query1=$_POST['NOM'];
    $query2=$_POST['PRENOM'];
    $query3=$_POST['NUMERO'];
     
     
     
     
     
     
     
     
    if( isset($_POST['NOM']) && !empty($_POST['NOM']) )
    {
    //verification que le NOM est dans la BDD:
    $verifnom=mysql_query("select NOM from generale where NOM='$query1'");
     
     
    	if(mysql_num_rows($verifnom)==0)
    	{ 
    	echo "<b>Ce nom n'exite pas dans le plan de numérotation</b>";
    	exit;
           }
    }
     
    if( isset($_POST['PRENOM']) && !empty($_POST['PRENOM']) ) {
    //verification que le PRENOM est dans la BDD:
    $verifprenom=mysql_query("select PRENOM from generale where PRENOM='$query2'");
     
    	if(mysql_num_rows($verifprenom)==0) 
    	{
    	echo "<b>Ce prenom n'exite pas dans le plan de numérotation</b>";
    	exit;
    	}
     
    }
    if( isset($_POST['NUMERO']) && !empty($_POST['NUMERO']) ) {
    //verification que le NUMERO est attribué dans la BDD:
    $verifnumero=mysql_query("select ID_GENERALE from numerosda where NUMERO='$query3'");
     
    	if(mysql_num_rows($verifprenom)==0) 
    	{
    	echo "<b>le numero n'est pas attribué</b>";
    	exit;
    	}
    }
     
    else 
    	{ je continue le traitement .....
    et dans ton cas, imagine deux trois lignes de ta tables :

    Jacques Chirac 06 45 78 98 78
    Nicolas Sarkozy 01 45 68 98 78
    Brad pitt 01 78 98 32 45

    (Cherchez l'intru ! non je déconne)

    Imagine maintenant que tu recherche cette personne là (qui n'existe donc pas):

    Nicolas Pitt avec le numéro 06 45 78 98 78

    Bah d'après ton code cette personne existe!

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

Discussions similaires

  1. [AC-2003] Besoin d'aide pour un formulaire de recherche
    Par pierrelyon dans le forum IHM
    Réponses: 3
    Dernier message: 03/06/2010, 16h52
  2. débutant recherche aide pour envoi formulaire
    Par peytona dans le forum Flash
    Réponses: 1
    Dernier message: 08/06/2007, 06h20
  3. Réponses: 2
    Dernier message: 23/05/2007, 07h31
  4. Réponses: 3
    Dernier message: 18/08/2006, 19h05
  5. Recherche de composant pour un formulaire
    Par AlexB59 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/06/2005, 13h20

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