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 :

système de recherche php


Sujet :

PHP & Base de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut système de recherche php
    bonjour a tous ,s'il vous plait j'ai besoins de vos conseils.En effet je dire creer une barre de recherche dans mon application qui ciblera seulement trois tables :courrier_arrive,courrier_depart,rendez_vous.Mais vue que ces tables sont lieés à d'autre dans ma base de donnée jai fait une première jointure pour rendez_vous qui lié à agent dans ma base de donnée
    et j'ai ce code qui n'a pas d'erreur mais ne marche 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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
     
     
     
    <?php
     
    include("Connexion.php");
     
        $id_ag=(isset($_POST["id_rdv"])) ? $_POST["id_ag"] : "";
        $nom=(isset($_POST["nom"])) ? $_POST["nom"] : "";
        $prenom =(isset($_POST["prenom"])) ? $_POST["prenom"] : "";
        $fonction_ag =(isset($_POST["fonction_ag"])) ? $_POST["fonction_ag"] : "";
        $contact =(isset($_POST["contact"])) ? $_POST["contact"] : "";
        $mail_ag =(isset($_POST["mail_ag"])) ? $_POST["mail_ag"] : "";
        $adresse =(isset($_POST["adresse"])) ? $_POST["adresse"] : "";
        $login =(isset($_POST["login"])) ? $_POST["login"] : "";
         $id_rdv =(isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
          $Objet_rdv =(isset($_POST["Objet_rdv"])) ? $_POST["Objet_rdv"] : "";
           $Contact=(isset($_POST["Contact"])) ? $_POST["Contact"] : "";
            $Lieu_rdv =(isset($_POST["Lieu_rdv"])) ? $_POST["Lieu_rdv"] : "";
             $Debut_rdv =(isset($_POST["Debut_rdv"])) ? $_POST["Debut_rdv"] : "";
              $Type_rdv=(isset($_POST["Type_rdv"])) ? $_POST["Type_rdv"] : "";
     
     
    if(!empty($_POST['recherche'])) //Si la recherche n'est pas vide
    { 
       $recherche=$_POST['recherche'];
       //var_dump($recherche);
        //On prépare la requête SQL
        $request=$db->prepare('SELECT id_ag,nom,prenom,fonction_ag,contact,mail_ag,adresse,login ,id_rdv,Objet_rdv,Lieu_rdv,Contact,Debut_rdv,Type_rdv FROM agent,rendez_vous WHERE id_ag  LIKE :recherche OR nom LIKE :recherche OR prenom LIKE :recherche OR fonction_ag LIKE :recherche OR contact LIKE :recherche OR mail_ag LIKE :recherche OR adresse LIKE :recherche OR login LIKE :recherche 
            OR id_rdv LIKE :recherche OR Objet_rdv LIKE :recherche OR Contact LIKE :recherche OR Lieu_rdv LIKE :recherche OR Debut_rdv LIKE :recherche OR Type_rdv LIKE :recherche)AND(agent.id_ag=rendez_vous.id_ag)');
        //var_dump($request); 
     
        //On l'exécute
        $request->execute(array('recherche' => '%'.$recherche.'%'));
     
      /* var_dump($id_ag);
       var_dump($nom);
       var_dump($prenom);
       var_dump($fonction_ag);
       var_dump($contact);
       var_dump($mail_ag);
       var_dump($adresse);
       var_dump($login);
       var_dump($id_rdv);
       var_dump($Objet_rdv);
       var_dump($Contact);
       var_dump($Lieu_rdv);
       var_dump($Debut_rdv);
        var_dump($Type_rdv);*/
     
        while($data = $request->fetch())
        {
     
            echo $data['id_ag'];
            echo $data['nom'];
            echo $data['prenom'];
            echo $data['fonction_ag'];
            echo $data['contact'];
            echo $data['mail_ag'];
            echo $data['adresse'];
            echo $data['login'];
             echo $data['id_rdv'];
             echo $data['Objet_rdv'];
             echo $data['Contact'];
             echo $data['Lieu_rdv'];
             echo $data['Debut_rdv'];
             echo $data['Type_rdv'];
     
     
     
     
        }
    }
    ?>
     
    <!DOCTYPE HTML>
    <html>
    <head><title> recherche</title>
    <link rel="stylesheet" href="/css/bootstrap.min.css">
     
    <!-- Optional theme -->
    <link rel="stylesheet" href="css/bootstrap-theme.min.css">
     
    <!-- style css -->
    <link rel="stylesheet" href="/courrier_rendez_vous/css/Page.css">
     
    <script type="text/javascript" src="JS/jquery.js"></script>
    <script type="text/javascript" src="JS/jquery.autocomplete.js"></script>
    </head>
    <body>
    <form  class="navbar-form navbar-right" method="post" action="search.php">
            <div class="form-group">
     
              <input type="text" class="form-control" placeholder="Rechercher" name="recherche">
            </div>
            <button type="submit" class="btn btn-primary" name="rechercher"><i class="icon icon-search"></i>
            <span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>
     
     
    </form>
     
          <script src="/js/bootstrap.min.js"></script>
     <script src="/js/main.js"></script>
          </body>
    </html>
    ensuite faire la meme chose avec les autres tables pour que l'utilisateur puisse faire aussi des recherches sur les autres tables
    aidez moi j'ai besoins de vos réponses!

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Vous devez inclure un marqueur avec un nom unique pour chaque valeur que vous souhaitez passer dans la requête lorsque vous appelez PDOStatement::execute(). Vous ne pouvez pas utiliser un marqueur avec deux noms identiques dans une requête préparée
    Pdo::prepare
    Or dans ta requête, tu as je-ne-sais-combien de :recherche. Il faut le fournir à execute autant de fois qu'il est utilisé dans la requête.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    Bonjour,excusez moi j'étais pas là !je suis revenu et j'ai appliqué ce que vous m'avez conseillé, il n'y a pas d'erreur mais la recherche ne fonctionne pas !
    si quelqu'un a une idée !
    merci!
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
     
     
    <?php
     
    include("Connexion.php");
     
        $id_ag=(isset($_POST["id_rdv"])) ? $_POST["id_ag"] : "";
        $nom=(isset($_POST["nom"])) ? $_POST["nom"] : "";
        $prenom =(isset($_POST["prenom"])) ? $_POST["prenom"] : "";
        $fonction_ag =(isset($_POST["fonction_ag"])) ? $_POST["fonction_ag"] : "";
        $contact =(isset($_POST["contact"])) ? $_POST["contact"] : "";
        $mail_ag =(isset($_POST["mail_ag"])) ? $_POST["mail_ag"] : "";
        $adresse =(isset($_POST["adresse"])) ? $_POST["adresse"] : "";
        $login =(isset($_POST["login"])) ? $_POST["login"] : "";
         $id_rdv =(isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
          $Objet_rdv =(isset($_POST["Objet_rdv"])) ? $_POST["Objet_rdv"] : "";
           $Contact=(isset($_POST["Contact"])) ? $_POST["Contact"] : "";
            $Lieu_rdv =(isset($_POST["Lieu_rdv"])) ? $_POST["Lieu_rdv"] : "";
             $Debut_rdv =(isset($_POST["Debut_rdv"])) ? $_POST["Debut_rdv"] : "";
              $Type_rdv=(isset($_POST["Type_rdv"])) ? $_POST["Type_rdv"] : "";
     
     
    if(!empty($_POST['recherche'])) //Si la recherche n'est pas vide
    { 
       $recherche=$_POST['recherche'];
       //var_dump($recherche);
        //On prépare la requête SQL
        $request=$db->prepare('SELECT id_ag,nom,prenom,fonction_ag,contact,mail_ag,adresse,login ,id_rdv,Objet_rdv,Contact,Lieu_rdv,Debut_rdv,Type_rdv FROM agent,rendez_vous WHERE id_ag  LIKE :recherche OR nom LIKE :recherche OR prenom LIKE :recherche OR fonction_ag LIKE :recherche OR contact LIKE :recherche OR mail_ag LIKE :recherche OR adresse LIKE :recherche OR login LIKE :recherche 
            OR id_rdv LIKE :recherche OR Objet_rdv LIKE :recherche OR Contact LIKE :recherche OR Lieu_rdv LIKE :recherche OR Debut_rdv LIKE :recherche OR Type_rdv LIKE :recherche)AND(agent.id_ag=rendez_vous.id_ag)');
        //var_dump($request); 
     
        //On l'exécute
        $request->execute(array
            (
            'recherche' => '%'.$recherche.'%'  
             , 'recherche' =>'%'.$recherche.'%'
             , 'recherche' =>'%'.$recherche.'%'
             , 'recherche' =>'%'.$recherche.'%'
            , 'recherche' =>'%'.$recherche.'%'
             , 'recherche' =>'%'.$recherche.'%'
             , 'recherche' =>'%'.$recherche.'%'
            , 'recherche' =>'%'.$recherche.'%'
            , 'recherche' =>'%'.$recherche.'%'
             , 'recherche' =>'%'.$recherche.'%'
            , 'recherche' =>'%'.$recherche.'%'
             , 'recherche' =>'%'.$recherche.'%'
             , 'recherche' =>'%'.$recherche.'%'
           ,  'recherche' =>'%'.$recherche.'%'
           , 'recherche' =>'%'.$recherche.'%'
            ));
     
      var_dump($id_ag);
       var_dump($nom);
       var_dump($prenom);
       var_dump($fonction_ag);
       var_dump($contact);
       var_dump($mail_ag);
       var_dump($adresse);
       var_dump($login);
       var_dump($id_rdv);
       var_dump($Objet_rdv);
       var_dump($Contact);
       var_dump($Lieu_rdv);
       var_dump($Debut_rdv);
        var_dump($Type_rdv);
     
        while($data = $request->fetch())
        {
     
            echo $data['id_ag'];
            echo $data['nom'];
            echo $data['prenom'];
            echo $data['fonction_ag'];
            echo $data['contact'];
            echo $data['mail_ag'];
            echo $data['adresse'];
            echo $data['login'];
             echo $data['id_rdv'];
             echo $data['Objet_rdv'];
             echo $data['Contact'];
             echo $data['Lieu_rdv'];
             echo $data['Debut_rdv'];
             echo $data['Type_rdv'];
     
     
     
     
        }
    }
    ?>
     
    <!DOCTYPE HTML>
    <html>
    <head><title> recherche</title>
    <link rel="stylesheet" href="/css/bootstrap.min.css">
     
    <!-- Optional theme -->
    <link rel="stylesheet" href="css/bootstrap-theme.min.css">
     
    <!-- style css -->
    <link rel="stylesheet" href="/courrier_rendez_vous/css/Page.css">
     
    <script type="text/javascript" src="JS/jquery.js"></script>
    <script type="text/javascript" src="JS/jquery.autocomplete.js"></script>
    </head>
    <body>
    <form  class="navbar-form navbar-right" method="post" action="search.php">
            <div class="form-group">
     
              <input type="text" class="form-control" placeholder="Rechercher" name="recherche">
            </div>
            <button type="submit" class="btn btn-primary" name="rechercher"><i class="icon icon-search"></i>
            <span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>
     
     
    </form>
     
          <script src="/js/bootstrap.min.js"></script>
     <script src="/js/main.js"></script>
          </body>
    </html>

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Vous ne pouvez pas utiliser un marqueur avec deux noms identiques dans une requête préparée
    Il faut mettre :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    "......  LIKE :recherche1 OR ......  LIKE :recherche2 OR ......  LIKE :recherche3 ...... "
    et
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        $request->execute(array
            (
            ':recherche1' => '%'.$recherche.'%'  
             , ':recherche2' =>'%'.$recherche.'%'
             , ':recherche3' =>'%'.$recherche.'%'
    ........

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Ce serait sans doute plus simple de donner des noms différents à chaque paramètre, même si ils contiennent tous la même valeur... parce que là je compte 14 :recherche dans la requête et 15 paramètres recherche passés à execute...

    Active les exceptions PDO si ce n'est pas déjà fait, histoire de pouvoir te rendre compte des requêtes incorrectes.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    salut merci pour ta réponse mais la recherche ne se fait pas
    voici le code aussi il n'y a pas 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
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
     
     
     
    <?php
     error_reporting(E_ALL);
    include("Connexion.php");
     
        $id_ag=(isset($_POST["id_rdv"])) ? $_POST["id_ag"] : "";
        $nom=(isset($_POST["nom"])) ? $_POST["nom"] : "";
        $prenom =(isset($_POST["prenom"])) ? $_POST["prenom"] : "";
        $fonction_ag =(isset($_POST["fonction_ag"])) ? $_POST["fonction_ag"] : "";
        $contact =(isset($_POST["contact"])) ? $_POST["contact"] : "";
        $mail_ag =(isset($_POST["mail_ag"])) ? $_POST["mail_ag"] : "";
        $adresse =(isset($_POST["adresse"])) ? $_POST["adresse"] : "";
        $login =(isset($_POST["login"])) ? $_POST["login"] : "";
        $id_rdv =(isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
        $Objet_rdv =(isset($_POST["Objet_rdv"])) ? $_POST["Objet_rdv"] : "";
        $Contact=(isset($_POST["Contact"])) ? $_POST["Contact"] : "";
        $Lieu_rdv =(isset($_POST["Lieu_rdv"])) ? $_POST["Lieu_rdv"] : "";
        $Debut_rdv =(isset($_POST["Debut_rdv"])) ? $_POST["Debut_rdv"] : "";
        $Type_rdv=(isset($_POST["Type_rdv"])) ? $_POST["Type_rdv"] : "";
     
     
    if(!empty($_POST['recherche'])) //Si la recherche n'est pas vide
    { 
       $recherche=$_POST['recherche'];
       //var_dump($recherche);
        //On prépare la requête SQL
        $request=$db->prepare('SELECT id_ag,nom,prenom,fonction_ag,contact,mail_ag,adresse,login ,id_rdv,Objet_rdv,Contact,Lieu_rdv,Debut_rdv,Type_rdv FROM agent,rendez_vous WHERE id_ag  LIKE :recherche1 OR nom LIKE :recherche2 OR prenom LIKE :recherche3 OR fonction_ag LIKE :recherche4 OR contact LIKE :recherche5 OR mail_ag LIKE :recherche6 OR adresse LIKE :recherche7 OR login LIKE :recherche8 
            OR id_rdv LIKE :recherche9 OR Objet_rdv LIKE :recherche10 OR Contact LIKE :recherche11 OR Lieu_rdv LIKE :recherche12 OR Debut_rdv LIKE :recherche13 OR Type_rdv LIKE :recherche14)AND(agent.id_ag=rendez_vous.id_ag)');
        //var_dump($request); 
     
        //On l'exécute
        $request->execute(array
            (
              ':recherche1' => '%'.$recherche.'%'  
             , ':recherche2' =>'%'.$recherche.'%'
             , ':recherche3' =>'%'.$recherche.'%'
             , ':recherche4' =>'%'.$recherche.'%'
            , ':recherche5' =>'%'.$recherche.'%'
             , ':recherche6' =>'%'.$recherche.'%'
             , ':recherche7' =>'%'.$recherche.'%'
            , ':recherche8' =>'%'.$recherche.'%'
            ,':recherche9' =>'%'.$recherche.'%'
             , ':recherche10' =>'%'.$recherche.'%'
            ,':recherche11' =>'%'.$recherche.'%'
             , ':recherche12' =>'%'.$recherche.'%'
             , ':recherche13' =>'%'.$recherche.'%'
           , ':recherche14' =>'%'.$recherche.'%'
     
            ));
     
      /*var_dump($id_ag);
       var_dump($nom);
       var_dump($prenom);
       var_dump($fonction_ag);
       var_dump($contact);
       var_dump($mail_ag);
       var_dump($adresse);
       var_dump($login);
       var_dump($id_rdv);
       var_dump($Objet_rdv);
       var_dump($Contact);
       var_dump($Lieu_rdv);
       var_dump($Debut_rdv);
        var_dump($Type_rdv);*/
     
        while($data = $request->fetch())
        {
     
            echo $data['id_ag'];
            echo $data['nom'];
            echo $data['prenom'];
            echo $data['fonction_ag'];
            echo $data['contact'];
            echo $data['mail_ag'];
            echo $data['adresse'];
            echo $data['login'];
             echo $data['id_rdv'];
             echo $data['Objet_rdv'];
             echo $data['Contact'];
             echo $data['Lieu_rdv'];
             echo $data['Debut_rdv'];
             echo $data['Type_rdv'];
     
     
     
     
        }
    }
    ?>
     
    <!DOCTYPE HTML>
    <html>
    <head><title> recherche</title>
    <link rel="stylesheet" href="/css/bootstrap.min.css">
     
    <!-- Optional theme -->
    <link rel="stylesheet" href="css/bootstrap-theme.min.css">
     
    <!-- style css -->
    <link rel="stylesheet" href="/courrier_rendez_vous/css/Page.css">
     
    <script type="text/javascript" src="JS/jquery.js"></script>
    <script type="text/javascript" src="JS/jquery.autocomplete.js"></script>
    </head>
    <body>
    <form  class="navbar-form navbar-right" method="post" action="search.php">
            <div class="form-group">
     
              <input type="text" class="form-control" placeholder="Rechercher" name="recherche">
            </div>
            <button type="submit" class="btn btn-primary" name="rechercher"><i class="icon icon-search"></i>
            <span class="glyphicon glyphicon-search" aria-hidden="true"></span></button>
     
     
    </form>
     
          <script src="/js/bootstrap.min.js"></script>
     <script src="/js/main.js"></script>
          </body>
    </html>

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Est-ce que tu as activé les erreurs pdo ? c'est à faire au niveau de la connexion avec quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dbh = new PDO($dsn, $user, $password);
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  8. #8
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    ah oui c'est fait et voilà l'erreur qui s'affiche !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Fatal error: in C:\wamp\www\gene\search.php on line 50
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     PDOException: in C:\wamp\www\gene\search.php on line 50

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Super, ne reste plus qu'à attraper cette erreur. Encadre tout le code PHP par un bloc try/catch :

    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
    68
    69
    70
    71
    <?php
    error_reporting(E_ALL);
    try {
    	include ("Connexion.php");
     
    	$id_ag = (isset($_POST["id_rdv"])) ? $_POST["id_ag"] : "";
    	$nom = (isset($_POST["nom"])) ? $_POST["nom"] : "";
    	$prenom = (isset($_POST["prenom"])) ? $_POST["prenom"] : "";
    	$fonction_ag = (isset($_POST["fonction_ag"])) ? $_POST["fonction_ag"] : "";
    	$contact = (isset($_POST["contact"])) ? $_POST["contact"] : "";
    	$mail_ag = (isset($_POST["mail_ag"])) ? $_POST["mail_ag"] : "";
    	$adresse = (isset($_POST["adresse"])) ? $_POST["adresse"] : "";
    	$login = (isset($_POST["login"])) ? $_POST["login"] : "";
    	$id_rdv = (isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
    	$Objet_rdv = (isset($_POST["Objet_rdv"])) ? $_POST["Objet_rdv"] : "";
    	$Contact = (isset($_POST["Contact"])) ? $_POST["Contact"] : "";
    	$Lieu_rdv = (isset($_POST["Lieu_rdv"])) ? $_POST["Lieu_rdv"] : "";
    	$Debut_rdv = (isset($_POST["Debut_rdv"])) ? $_POST["Debut_rdv"] : "";
    	$Type_rdv = (isset($_POST["Type_rdv"])) ? $_POST["Type_rdv"] : "";
     
    	if (!empty($_POST['recherche'])) //Si la recherche n'est pas vide
    	{
    		$recherche = $_POST['recherche'];
     
    		// var_dump($recherche);
    		// On prépare la requête SQL
     
    		$request = $db->prepare('SELECT id_ag,nom,prenom,fonction_ag,contact,mail_ag,adresse,login ,id_rdv,Objet_rdv,Contact,Lieu_rdv,Debut_rdv,Type_rdv FROM agent,rendez_vous WHERE id_ag  LIKE :recherche1 OR nom LIKE :recherche2 OR prenom LIKE :recherche3 OR fonction_ag LIKE :recherche4 OR contact LIKE :recherche5 OR mail_ag LIKE :recherche6 OR adresse LIKE :recherche7 OR login LIKE :recherche8 
    			OR id_rdv LIKE :recherche9 OR Objet_rdv LIKE :recherche10 OR Contact LIKE :recherche11 OR Lieu_rdv LIKE :recherche12 OR Debut_rdv LIKE :recherche13 OR Type_rdv LIKE :recherche14)AND(agent.id_ag=rendez_vous.id_ag)');
     
    		// var_dump($request);
    		// On l'exécute
     
    		$request->execute(array(
    			':recherche1' => '%' . $recherche . '%',
    			':recherche2' => '%' . $recherche . '%',
    			':recherche3' => '%' . $recherche . '%',
    			':recherche4' => '%' . $recherche . '%',
    			':recherche5' => '%' . $recherche . '%',
    			':recherche6' => '%' . $recherche . '%',
    			':recherche7' => '%' . $recherche . '%',
    			':recherche8' => '%' . $recherche . '%',
    			':recherche9' => '%' . $recherche . '%',
    			':recherche10' => '%' . $recherche . '%',
    			':recherche11' => '%' . $recherche . '%',
    			':recherche12' => '%' . $recherche . '%',
    			':recherche13' => '%' . $recherche . '%',
    			':recherche14' => '%' . $recherche . '%'
    		));
     
    		while ($data = $request->fetch()) {
    			echo $data['id_ag'];
    			echo $data['nom'];
    			echo $data['prenom'];
    			echo $data['fonction_ag'];
    			echo $data['contact'];
    			echo $data['mail_ag'];
    			echo $data['adresse'];
    			echo $data['login'];
    			echo $data['id_rdv'];
    			echo $data['Objet_rdv'];
    			echo $data['Contact'];
    			echo $data['Lieu_rdv'];
    			echo $data['Debut_rdv'];
    			echo $data['Type_rdv'];
    		}
    	}
    }
    catch (PDOException $e) {
    	 echo 'Erreur PDO : ' . $e->getMessage();
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    salut les données s'affichent je vais d'autres test et je te réécris !

  11. #11
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    Bonjour , j'ai d'autres test mais je constate que les données se repètent !

  12. #12
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    je suppose que par "les données se répètent", tu veux dire que tu trouves plusieurs fois la même ligne ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  13. #13
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    oui c'est bien ça !

  14. #14
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu peux ajouter un DISTINCT à ta requête pour filtrer les doublons :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT id_ag,nom, prenom, fonction_ag, contact, mail_ag...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  15. #15
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    oh! toujours la meme chose j'ai mis les données dans un tableau pour mieux voir mais c'est pareille !

  16. #16
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    tu es bien gentille, mais nous ne sommes pas devins.

    Et si tu montrais un extrait des résultats ?

  17. #17
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je tente une hypothèse au hasard : il y a peut-être un problème au niveau de la jointure Essaye de faire ta jointure avec un JOIN au lieu de la faire via le WHERE.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  18. #18
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    ah! escusez moi !

    Nom : tableau.png
Affichages : 134
Taille : 136,0 Ko

  19. #19
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu as bien des lignes différentes : plusieurs lignes pour le même agent, mais avec des rendez-vous différents : si tu regardes la 2e colonne numéro (qui correspond à l'id du rendez-vous), les valeurs sont toutes différentes.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  20. #20
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2015
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2015
    Messages : 44
    Points : 13
    Points
    13
    Par défaut
    c'est vrai j'ai fait ce test avec un agent qui n'as pas de rendez-vous et voilà qu'il me sort tout ça normalement le tableau devrait afficher seulement les informations de l'agent puisqu'il n'as pas de rendez-vous ,les cases du rendez-vous devraient être vide il ne devrait pas lui attribué des rendez-vous !
    je continue de chercher pour voir la faille! merci !

Discussions similaires

  1. [Système][fichier] recherche de fichier dans tout le disque dur
    Par helonear dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 15/12/2010, 10h43
  2. [MySQL] Formulaire de recherche PHP + un script d recherche en HTML
    Par Dsphinx dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/11/2005, 19h44
  3. Réponses: 7
    Dernier message: 20/10/2005, 20h51
  4. [Système] Imprimer en PHP
    Par TitAnz35 dans le forum Langage
    Réponses: 9
    Dernier message: 13/10/2005, 12h20

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