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 :

afficher une valeur si une comparaison est vraie [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut afficher une valeur si une comparaison est vraie
    bonjour,

    je viens à vous car je ne sais pas du tout comment m'y prendre,j' ai une table avec 2 champs( utilisateurs et mail)
    j'aimerai savoir comment faire pour afficher mon mail en fonction de l'utilisateur rentré (je voudrais comparer la valeur rentré avec la valeur dans la table pour afficher le mail correspondant)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    $res=$pdo->query('select utilisateurs, mail from users');
    while ($data=$res->fetch()){
    ?>
         <td>Email : </td>
        <td><input type="text" name="mail" value=<?php echo $data['mail']; ?> </br>	 </td>
    <?php
    }
    	?>
     <p>
     <table border="0"  cellspacing="2" cellpadding="2">
          <td>users : </td>
          <td><input type="text" name="utilisateur"></td>
      </table>
    si quelqu'un aurrait une piste ,merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    en fonction de l'utilisateur rentré où ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut
    excusez moi, l'utilisateur rentre son identifiant dans une cellule positionné sur un formulaire

    ayant fais quelques recherches je me suis adapter ce 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
    <?php
    $utilisateur = $_POST['utilisateur'];
     
    $nom_sql = $pdo->query($prenom) ;
    $sql=$pdo->query('SELECT count(*) as nbres FROM users "
    		. " WHERE utilisateur=$utilisateur ') ;
     
     
    $result = $pdo->query($sql) ;
    $row = $result->fetch() ;
    $result = null ;
    // Si un seul utilisateur est trouvé, c'est bon !
    if ($row['nbres'] == 1) {
    	return TRUE ;
    } else {
    	return FALSE ;
    }
     
    ?>
    je ne sais pas si je suis sur la bonne piste mais il devrait me faire une comparaison,mais j'ai un message d'erreur sur la 1ere ligne:
    ( ! ) Notice: Undefined variable: utilisateur in C:\wamp\www\7-Applications\test2.php on line 18
    et:
    ( ! ) Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\7-Applications\test2.php on line 24

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as eu du mal a recopié l'exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $utilisateur = $_POST['utilisateur'];
    $sth = $pdo->prepare('SELECT COUNT(*) as nbres FROM users WHERE utilisateur= :utilisateur') ;
    $sth->execute(array(':utilisateur'=>$_POST['utilisateur'])); 
    $row = $result->fetch() ;
    if ($row['nbres'] == 1) {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut
    merci pour m'aider à avoir rectifié le code,mais j'ai toujours le message d'erreur concernant cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $utilisateur = $_POST['utilisateur'];
    voici ma zone de texte située sur le formulaire ,je ne comprends pas pourquoi cette erreur
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <table border="0"  cellspacing="2" cellpadding="2">   
          <td>Utilisateur : </td>
          <td><input type="text" name="utilisateur"></td>
      </table>

    ! ) Notice: Undefined index: utilisateur in C:\wamp\www\7-Applications\test2.php on line 17
    merci

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ce n'est pas la même erreur.
    Ou est le formulaire ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut
    voici mon formulaire:
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?php
    require_once("connexionMysql.inc.php");
     
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    </head>
     
    <body>
    <?php
    $utilisateur = $_POST['utilisateur'];
     
    $nom_sql = $pdo->query($utilisateur) ;
    $sql=$pdo->prepare('SELECT count(*) as nbres FROM users "
    		. " WHERE utilisateur=:utilisateur ') ;
    $sql->execute(array(':utilisateur'=>$_POST['utilisateur']));		
     
    $result = $pdo->query($sql) ;
    $row = $result->fetch() ;
    $result = null ;
    // Si un seul utilisateur est trouvé, c'est bon !
    if ($row['nbres'] == 1) {
    $res=$pdo->query('select utilisateur, mail from users');	
    } 
     
    while ($data=$res->fetch())
    {
    ?>
         <tr align="center">
         <td>Email : </td>
         <td><input type="text" name="mail" value=<?php echo $data['mail']; ?> </br>	 </td>
         </tr>
    <?php
    }
    	?>
     <p>
     <table border="0"  cellspacing="2" cellpadding="2">
     
     
          <td>Utilisateur : </td>
          <td><input type="text" name="utilisateur"></td>
     
     
      </table>
     
     
    </form>
     
     
      <p>
        <label>
          <input type="submit" name="bouton"  value="Envoyer" />
        </label>
      </p>
     
    <?php
     
    $res->closeCursor() ;
    ?>
     
    </body>
    </html>

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    • des <tr> sans <table>
    • une <table> sans <tr>
    • une balise <p> qui se promène seule
    • un <input type="submit"> après la balise </form>

    Ca commence à faire beaucoup d'erreurs basiques en HTML !

    Il faudrait peut-être corriger tout ça... et apprendre les bases du HTML :


    Quant au PHP :
    1/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    $utilisateur = $_POST['utilisateur'];
    Au 1er affichage de la page, le formulaire n'a pas encore été soumis.
    Donc $_POST['utilisateur'] n'existe pas. Donc erreur.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $utilisateur = ( !empty($_POST['utilisateur']) )? $_POST['utilisateur'] : '';
    if( !empty($utilisateur) )
    {
       ....
    }
    N.B. Pour la syntaxe, voir Opérateurs de comparaison -> L'opérateur ternaire
    2/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nom_sql = $pdo->query($utilisateur) ;
    d'où sors-tu ça ?? à supprimer.

    3/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql=$pdo->prepare('SELECT count(*) as nbres FROM users "
    		. " WHERE utilisateur=:utilisateur ') ;
    Mélanger ' et "...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql=$pdo->prepare( "SELECT count(*) as nbres FROM users " .
    		" WHERE utilisateur=:utilisateur" );
    Cependant, SELECT count(*) compte juste le nombre de ligne.
    Ca ne te permettra pas d'afficher les données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql=$pdo->prepare( "SELECT nom, email FROM users " .
    		" WHERE utilisateur=:utilisateur" );
    S'il existe bien 1 résultat, on peut l'afficher.

    4/ ici, on met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql->execute( array(':utilisateur'=>$utilisateur) );
    Dernière modification par Invité ; 30/03/2015 à 07h09.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut
    j'ai bien corriger les differentes petites erreurs, et également appliqué les diverses correction ,mais je n'arrive toujours pas a afficher le mail dans ma zone de texte,je me retrouve avec un </td

  10. #10
    Invité
    Invité(e)
    Par défaut
    Que veux-tu qu'on te répondes...

    Tu ne montres pas ton code...

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut
    desolé 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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    <?php
    require_once("connexionMysql.inc.php");
     
    ?>
     
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-Strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans nom</title>
    </head>
     
    <body>
     
    <?php
    $prenom = ( !empty($_POST['utilisateur'])) ? $_POST['utilisateur'] : '';
    if(!empty($utilisateur))
    {
    $sql=$pdo->prepare( "SELECT nom, email FROM users  WHERE utilisateur=:utilisateur" );	
     
    $sql->execute(array(':utilisateur'=>$utilisateur));		
     
    }
     
    ?>
     
     <p>
     <table border="0"  cellspacing="2" cellpadding="2">
     
     
          <td>Utilisateur : </td>
          <td><input type="text" name="utilisateur"></td>
     
    	  <tr align="center">
                   <td>Email : </td>
                   <td><input type="text" name="mail" value=<?php echo $sql['mail']; ?> </br></td>
                   </tr>
     
      </table>
     
      <p>
        <label>
          <input type="submit" name="bouton"  value="Envoyer" />
        </label>
      </p>
     
     
    </body>
    </html>

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux lire la documentation aussi pour voir comme s'utilisent les extensions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql->execute(array(':utilisateur'=>$utilisateur));
    $row = $sql->fetch();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="mail" value=<?php echo $row['mail']; ?> </br></td>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut
    j'ai de nouveau un message d'erreur sur une variable concernant cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="mail" value=<?php echo $row['mail']; ?> </br></td>
    ( ! ) Notice: Undefined variable: row in C:\wamp\www\7-Applications\test2.php on line 52

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Faut bosser un peu
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <body>
    <?php
    if(!empty($_POST['utilisateur']))
    {
    $sql=$pdo->prepare( "SELECT nom, email FROM users  WHERE utilisateur=:utilisateur" );	
    $sql->execute(array(':utilisateur'=>$_POST['utilisateur']));
    $row = $sql->fetch();
    $email = $row['email'];
    }
    else {
    $email = '';
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td><input type="text" name="mail" value="<?php echo $email; ?>"</td>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 625
    Points : 168
    Points
    168
    Par défaut
    merci beaucoup pour votre aide

  16. #16
    Invité
    Invité(e)
    Par défaut
    La structure HTML laisse encore à désirer...

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. afficher une valeur sur une feuille lorsqu'une checkbox est cochée
    Par chrnoe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 23/12/2008, 14h39
  3. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  4. afficher les valeur d'une requete dans une combobox
    Par carlos587261 dans le forum Bases de données
    Réponses: 3
    Dernier message: 15/06/2007, 08h45
  5. Afficher les valeurs d'une structure dans une matrice
    Par yabbiyou dans le forum MATLAB
    Réponses: 1
    Dernier message: 22/02/2007, 12h26

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