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 :

vérification de l existence d'un id [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut vérification de l existence d'un id
    Bonjour,
    je réalise un formulaire où l'utilisateur doit saisir un numero de personne (id).
    Je souhaiterai vérifier que le numéro saisit existe bien dans la table correspondante avant de poursuivre les autres instructions contenues dans la page.

    voici de que j'avais envisagé mais ce la ne fonctionne pas correctement


    Est ce que quelqu'un sait comment faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if(isset($_POST['bouton_envoie'])) /*debut du if envoie des donnees*/
    {
    		if (isset($_POST['id']) && !empty($_POST['id'])) {
    		$id=$_POST['id'];
     
    		$requete="select * from patient where id_pat='$id';";
    		$result=mysql_query($requete) or die($requete.' Erreur '.mysql_error()) ;  
    		if (!empty($result)) {
    		affiche_pat($result);/*affichage u patient selectionne*/
    		}else echo "id introuvable";
    }}
    merci d'avance

  2. #2
    Membre Expert
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 564
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $query=mysql_query($requete) or die($requete.' Erreur '.mysql_error());
    $result=mysql_fetch_array($query);

  3. #3
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut
    bonjour,
    merci pour ta réponse mais ca n'est pas ce que je veux faire :
    se charge de l affichage avec un fetch_array.

    Ce que je voudrais c'est que par exemple si l utilisateur saisisse l'id =100 alors qu'il n'existe pas de personne ayant cet id, je puisse afficher un message d'erreur. Comment faire pour vérifier que l'id saisit par l'utilisateur existe bien dans ma table ???

    merci d'avance
    benilto

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Citation Envoyé par benilto Voir le message
    bonjour,
    merci pour ta réponse mais ca n'est pas ce que je veux faire :
    se charge de l affichage avec un fetch_array.

    Ce que je voudrais c'est que par exemple si l utilisateur saisisse l'id =100 alors qu'il n'existe pas de personne ayant cet id, je puisse afficher un message d'erreur. Comment faire pour vérifier que l'id saisit par l'utilisateur existe bien dans ma table ???

    merci d'avance
    benilto
    Qu'est ce qui ne fonctionne pas correctement ? A première vue le code a l'air correct.

    J'aurais plutôt utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $requete="select count(1) as nb from patient where id_pat='$id';";
    $row = mysql_fetch_assoc($result)
    if ( 0 == $row['nb'] ) {
    [...]

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Août 2007
    Messages : 109
    Par défaut
    Bonjour

    La fonction de test du nombre d'enregistrements :

    Mysql_num_rows ne résout-elle pas ton problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $requete="select count(1) as nb from patient where id_pat='$id';";
    if(mysql_num_rows($requete) == 0 ) 
    {
    [...] 
    }
    else
    {
        // Gestion d'erreur 
    }

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Par défaut
    Mais un COUNT, par définition, renverra toujours un (unique) résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $result = mysql_query("SELECT COUNT(*) FROM patient WHERE id_pat='$id'") or die($requete.' Erreur '.mysql_error());
    $nbRes = mysql_result($result, 0);
    if ($nbRes > 0) {
        // ...
    } else {
        // ...
    }

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 129
    Par défaut
    Il faut que tu verifie sur ton mysql_fetch_array est plus grand que 0, si c'est le cas, c'Est que ton ID est trouvé et qu'il existe, sinon, tu envoi un message d'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if(isset($_POST['bouton_envoie'])) /*debut du if envoie des donnees*/
    {
       if (isset($_POST['id']) && !empty($_POST['id'])) {
          $id=$_POST['id'];
          $requete="select * from patient where id_pat='$id';";
          $result=mysql_query($requete) or die($requete.' Erreur '.mysql_error()) ;
          $nbr_resultat = mysql_fetch_array($result);
          if ($nbr_resultat > 0 ) {
             affiche_pat($result);/*affichage u patient selectionne*/
          } else echo "id introuvable";
       }
    }

  8. #8
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    Salut,

    Si vous voulez que le message apparaisse lorsque ton champ ID perd le focus, il te faudra utilisé une requête vers ton script PHP avec une requête AJAX, ou plus simple encore voir du coté des Framework AJAX (JQuery par exemple).

  9. #9
    Membre éclairé Avatar de ben.IT
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Janvier 2009
    Messages : 431
    Par défaut
    bonjour et merci à tous pour vos réponses, j'ai utilisé la solution proposée par julp dont 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
    if(isset($_POST['rechercher'])) /*debut du if envoie des donnees*/
    {
    			if (isset($_POST['id']) && !empty($_POST['id'])) {							
    			$ide=$_POST['id'];						
    			$result = mysql_query("SELECT COUNT(*) FROM patient WHERE id_pat='$ide'") or die(' Erreur '.mysql_error());
    			$nbRes = mysql_result($result, 0);
    			if ($nbRes > 0) {
    			$requete = "Select * from patient WHERE id_pat='$ide'";
    			$result=mysql_query($requete) or die($requete.' Erreur '.mysql_error()) ;  /*expression booleene, si vraie on poursuit. else : erreur */
    			affiche_pat($result);
    			$valid_id=true;/*le patient existe ! ! */
    			} else {
    			echo "<font color='#FF0000'>patient introuvable. <br> </font>";
    			}echo "<br>";									
    																}
     
    }

    merci à tous
    a bientôt

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

Discussions similaires

  1. [MySQL] Vérification si user existe déjà
    Par xender dans le forum PHP & Base de données
    Réponses: 12
    Dernier message: 25/04/2006, 14h57
  2. [MySQL] Vérification de l'existance d'un Pseudo
    Par Nadd dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/03/2006, 21h25
  3. Vérification de l'existance d'un fichier via HTTP
    Par mouste79 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 02/02/2006, 14h26
  4. Vérification de l'existence d'un lien / url (link checker)
    Par strek100 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 19/10/2005, 07h34
  5. Vérification de l'existence d'un fichier
    Par alfu dans le forum ASP
    Réponses: 2
    Dernier message: 06/10/2004, 13h29

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