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

EDI, CMS, Outils, Scripts et API PHP Discussion :

module de recherche sur mon site


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut module de recherche sur mon site
    Bonjour a tous, je souhaite faire un module de recherche de mail a partir d'un numéro de dossier qu'on a entrée ( le numéro de dossier n'est pas unique dans la BDD )

    J'ai ma page de formulaire de recherche

    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
     <?php
        // définition des includes
        include("Include/coBdd.php") ;
        include ('Include/menu.php');
     
        //definition des managers
        $managerMail = new MailManager($pdo) ;
     
     
     
    ?>
     
    <!DOCTYPE html>
    <html >
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
     
     
        <form method="post" action="listeMail.php">
          <p>
              <label>Rechercher par num Dossier</label> :
              <input type="text" name="numDossRech" />
          </p>
     
          <p>
            <input type="submit" value="Envoyer" name = "rechercherMail">
          </p>
        </form>
     
     
     
    <br><br>

    Une fois cette recherche effectuer je devrai avoir une liste avec tous les mails qui possèdent la valeur du dossier saisie

    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
    <!DOCTYPE html>
    <html >
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <?php
            // définition des includes
            include("Include/coBdd.php") ;
            include ('Include/menu.php');
     
     
     
     
            //definition des managers
            $managerMail = new MailManager($pdo) ;
     
        if (isset($_POST["rechercherMail"]))
        {
          $numDos = $_POST['numDossRech'] ;
          $a = $managerMail->rechercherMail($numDos) ;
          var_dump($numDos) ;
          var_dump($a) ;
        }
     
            ?>
        </head>
        <body>
            <h1> Liste des mails </h1>
     
     
             <table class="table  table-striped">
                <thead>
                    <tr>
                <th>Date</th>
                        <th>Numéro Dossier</th>
                        <th>Catégorie</th>
                        <th>Sujet</th>
                <th></th>
                    </tr>
                </thead>
     
                <tbody>
     
          <?php
            $lesMail = $managerMail->getList();
     
            foreach ($lesMail as $unMail)
                {
     
                  ?>
                  <tr>
                   <th>  <?php echo $unMail->getDate() ; ?> </th>
                    <th> <?php echo $unMail->getNumDossier() ; ?> </th>
                    <th> <?php echo $unMail->getCat();   ?> </th>
                    <th> <?php echo $unMail->getSujet() ; ?> </th> 
                    <th> <?php echo '<a href=consulterMail.php?id='.$unMail->getId().'> '?> Consulter
                    </a>
                    </th> 
                  </tr>
                  <?php
                }
     
         ?>
     
     
     
        </body>

    Mon var_dump($a) me retourne un objet vide je sais pas pourquoi alors que le var_dump d'avant me donne ce que j'ai saisie avant

    Ma fonction recherche ( je ne sais pas si c'est comme ça qu'il faut faire )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public function rechercherMail($numDossier){
        $q = $this->db->prepare("SELECT * FROM mail WHERE mai_numDossier= ".$numDossier);
        $q->execute();
        $mails = [];
     
         while ($donnees = $q->fetch(PDO::FETCH_ASSOC))
        {
          $mails[] = new Mail($donnees['mai_id'], $donnees['mai_sujet'],$donnees['mai_adresseMailDest'],
                              $donnees['mai_numDossier'], $donnees['mai_corpMess'], $donnees['mai_categorie'],
                              $donnee['mai_personne'],$donnees['mai_date']);
        }
     
        return $mails;
       }

    Merci d'avance pour m'aider a créer mon module de recherche

  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
    Par défaut
    je ne sais pas si c'est comme ça qu'il faut faire
    Pour le savoir, regarde la doc
    http://php.net/manual/fr/pdo.prepare.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $q = $this->db->prepare('SELECT * FROM mail WHERE mai_numDossier= :numDossier');
    $q->execute(array(':numDossier'=>$numDossier));
    Si ça ne fonctionne toujours pas, vérifie si au moins ta requête retourne un résultat, si ton rentre dans la boucle while, ce qui se passe dans ta classe Mail ... bref debugue un peu.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    J'ai tester ma requete dans phpmyadmin est ca me retourne des résultat, donc ma requete est bonne , après a voir dans ma fonction ...

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    J'ai mis dans ma fonction
    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
       public function rechercherMail($numDossier){
        $q = $this->db->prepare('SELECT * FROM mail WHERE mai_numDossier= :numDossier');
        $q->execute(array(':numDossier'=>$numDossier));
        $mails = [];
     
        while($donnees = $q->fetch(PDO::FETCH_ASSOC))
        {
          $mails[] = new Mail($donnees['mai_id'], $donnees['mai_sujet'],$donnees['mai_adresseMailDest'],
                              $donnees['mai_numDossier'], $donnees['mai_corpMess'], $donnees['mai_categorie'],
                              $donnee['mai_personne'],$donnees['mai_date']);
        }
     
        return $mails; echo "<pre>";
        var_dump($mails);  echo "</pre>"; die;exit; //ligne rajouter
       }
    Et le var_dump($mails) m'affiche bien les objets correspondant a la recherche...
    Mais m'indique
    Notice: Undefined variable: donnee

  5. #5
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Citation Envoyé par nadgeul Voir le message
    J'ai mis dans ma fonction
    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
       public function rechercherMail($numDossier){
        $q = $this->db->prepare('SELECT * FROM mail WHERE mai_numDossier= :numDossier');
        $q->execute(array(':numDossier'=>$numDossier));
        $mails = [];
    
        while($donnees = $q->fetch(PDO::FETCH_ASSOC))
        {
          $mails[] = new Mail($donnees['mai_id'], $donnees['mai_sujet'],$donnees['mai_adresseMailDest'],
                              $donnees['mai_numDossier'], $donnees['mai_corpMess'], $donnees['mai_categorie'],
                              $donnee['mai_personne'],$donnees['mai_date']);
        }
        
        return $mails; echo "<pre>";
        var_dump($mails);  echo "</pre>"; die;exit; //ligne rajouter
       }
    Et le var_dump($mails) m'affiche bien les objets correspondant a la recherche...
    Mais m'indique Notice: Undefined variable: donnee
    Yop,

    Regarde la ligne que je t'ai mis en rouge

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Ah oui en effet je ne trouvais pas on erreur Merci =)

  7. #7
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Et du coup la maintenant je récupère bien l'objet
    Mais comment je fais dans ma liste ( qui avant me retourner tous les mail de ma bdd ) pour afficher que ceux que je veux ?


    Ma fonction qui retourne la liste de tous les mail et celle ci ...
    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
       public function getList()
      {
        $mails = [];
     
        $q = $this->db->prepare('SELECT * FROM mail order by mai_date desc');
        $q->execute();
     
        while ($donnees = $q->fetch(PDO::FETCH_ASSOC))
        {
          $mails[] = new Mail($donnees['mai_id'], $donnees['mai_sujet'],$donnees['mai_adresseMailDest'],
                              $donnees['mai_numDossier'], $donnees['mai_corpMess'], $donnees['mai_categorie'],$donnees['mai_personne'],$donnees['mai_date']);
        }
     
        return $mails;
     
     
      }
    Je ne vois pas trop comment l'adapter a mon nouveau besoin ...

  8. #8
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Comment ça "Que ceux que je veux"?

  9. #9
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Désolé de la mal formulation...
    Actuellement ma fonction getList() me retourne tous les mail de ma bdd

    Hors par exemple si je veux afficher dans ma liste que les mails dont le dossier est ' 123456' suite à ma recherche je fais comment ? Je dois changer ma fonction getList ?

  10. #10
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Citation Envoyé par nadgeul Voir le message
    Désolé de la mal formulation...
    Actuellement ma fonction getList() me retourne tous les mail de ma bdd

    Hors par exemple si je veux afficher dans ma liste que les mails dont le dossier est ' 123456' suite à ma recherche je fais comment ? Je dois changer ma fonction getList ?
    C'est ta requête qu'il faut modifier.

    Actuellement tu fais un "select *", soit, tous les enregistrements de ta table.

    Il te faudrait quelque chose du genre :

    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
    public function getList()
      {
        $mails = [];
        $var = numéro_de_ton_dossier; 
    
        $q = $this->db->prepare('SELECT * FROM mail order by mai_date desc where num_dossier like '".$var."'');
        $q->execute();
     
        while ($donnees = $q->fetch(PDO::FETCH_ASSOC))
        {
          $mails[] = new Mail($donnees['mai_id'], $donnees['mai_sujet'],$donnees['mai_adresseMailDest'],
                              $donnees['mai_numDossier'], $donnees['mai_corpMess'], $donnees['mai_categorie'],$donnees['mai_personne'],$donnees['mai_date']);
        }
     
        return $mails;
     
     
      }
    Donc les lignes en rouge :

    $var prend la valeur de ton dossier, que tu dois probablement récupérer, ou stocker quelque part.
    num_dossier c'est ton champ qui comprend les différents numéros de dossiers.

    Et de cette manière là, ça te fait en français : "je prends tous les mails de la table mail, ordonnés du plus grand au plus petit par mai_date ou le numéro de dossier est égal à $lavariable"

    Désolé de la mal formulation...
    Pas de soucis !

  11. #11
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Je ne vois pas trop comment faire,
    je récup la valeur du dossier que je veux rechercher avec le $_POST['numDossRech'] dans la page listeMail.php
    Mais alors la je ne vois pas comment faire le lien avec getList()

  12. #12
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Ta fonction getList(), est dans listeMail.php ?

  13. #13
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Non dans mon MailManager.php ou j'ai toute mes fonction pour la table mail ( ajout, count() , getList(), Recherche...)

  14. #14
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Tu peux mettre le code ou tu appel getList()?

    Plusieurs possibilités :

    - Creer un objet MailManager() depuis ton listeMail.php pour appeller ta fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mailManager->getList(numDossier);
    Et de l'autre côté tu traites le paramètre.

    - Ou alors, un peu moins propre, tu stock ton numéro de dossier dans la variable de $_SESSION que tu récupères ensuite. (Si session tu utilises)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['num_dossier'] = $_POST['numDossRech'];

  15. #15
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Tu peux mettre le code ou tu appel getList()?
    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
    <!DOCTYPE html>
    <html >
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <?php
            // définition des includes
            include("Include/coBdd.php") ;
            include ('Include/menu.php');
     
     
     
     
            //definition des managers 
            $managerMail = new MailManager($pdo) ;
     
        if (isset($_POST["rechercherMail"]))
        {
          $numDos = $_POST['numDossRech'] ; 
          $a = $managerMail->rechercherMail($numDos) ; 
          //var_dump($numDos) ; 
          var_dump($a) ;
        }
     
            ?>
     	</head>
     	<body>
     		<h1> Liste des mails </h1>
     
     
     		 <table class="table  table-striped">
       			<thead> 
    	   			<tr>
                <th>Date</th>
    	   				<th>Numéro Dossier</th>
    	   				<th>Catégorie</th>
    	   				<th>Sujet</th>
                <th></th>
    	   			</tr>
    	   		</thead>
     
    			<tbody> 
     
          <?php 
            $lesMail = $managerMail->getList(); 
     
            foreach ($lesMail as $unMail)
                {
     
                  ?> 
                  <tr>
                   <th>  <?php echo $unMail->getDate() ; ?> </th>
                    <th> <?php echo $unMail->getNumDossier() ; ?> </th>
                    <th> <?php echo $unMail->getCat();   ?> </th>
                    <th> <?php echo $unMail->getSujet() ; ?> </th>  
                    <th> <?php echo '<a href=consulterMail.php?id='.$unMail->getId().'> '?> Consulter
                    </a> 
                    </th>  
                  </tr>
                  <?php
                }
     
         ?>

  16. #16
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Citation Envoyé par nadgeul Voir le message
    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
    <!DOCTYPE html>
    ...
            $managerMail = new MailManager($pdo) ;
    
        if (isset($_POST["rechercherMail"]))
        {
          $numDos = $_POST['numDossRech'] ; 
          $a = $managerMail->rechercherMail($numDos) ; 
          //var_dump($numDos) ; 
          var_dump($a) ;
        }
            ?>
    ...
    
          <?php 
            $lesMail = $managerMail->getList($numDos); 
    
    ...
              
         ?>

  17. #17
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Donc dans ma fonction qui est dans mon MailManager je fais sa ...
    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
    public function getList($var)
      {
        $mails = [];
     
        $q = $this->db->prepare('SELECT * FROM mail order by mai_date desc');
        $q->execute();
     
     
        $q = $this->db->prepare("SELECT * FROM mail order by mai_date desc where num_dossier like ".$var);
        $q->execute();
     
        while ($donnees = $q->fetch(PDO::FETCH_ASSOC))
        {
          $mails[] = new Mail($donnees['mai_id'], $donnees['mai_sujet'],$donnees['mai_adresseMailDest'],
                              $donnees['mai_numDossier'], $donnees['mai_corpMess'], $donnees['mai_categorie'],$donnees['mai_personne'],$donnees['mai_date']);
        }
     
      }

    Et dans listeMail.php

    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
    <!DOCTYPE html>
    <html >
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <?php
            // définition des includes
            include("Include/coBdd.php") ;
            include ('Include/menu.php');
     
     
     
     
            //definition des managers 
            $managerMail = new MailManager($pdo) ;
     
        if (isset($_POST["rechercherMail"]))
        {
          $numDos = $_POST['numDossRech'] ; 
          $a = $managerMail->rechercherMail($numDos) ; 
          //var_dump($numDos) ; 
          var_dump($a) ;
        }
     
            ?>
     	</head>
     	<body>
     		<h1> Liste des mails </h1>
     
     
     		 <table class="table  table-striped">
       			<thead> 
    	   			<tr>
                <th>Date</th>
    	   				<th>Numéro Dossier</th>
    	   				<th>Catégorie</th>
    	   				<th>Sujet</th>
                <th></th>
    	   			</tr>
    	   		</thead>
     
    			<tbody> 
     
          <?php 
            $lesMail = $managerMail->getList($numDos) ;
     
            foreach ($lesMail as $unMail)
                {
     
                  ?> 
                  <tr>
                   <th>  <?php echo $unMail->getDate() ; ?> </th>
                    <th> <?php echo $unMail->getNumDossier() ; ?> </th>
                    <th> <?php echo $unMail->getCat();   ?> </th>
                    <th> <?php echo $unMail->getSujet() ; ?> </th>  
                    <th> <?php echo '<a href=consulterMail.php?id='.$unMail->getId().'> '?> Consulter
                    </a> 
                    </th>  
                  </tr>
                  <?php
                }
     
         ?>
     
     
     
     
     
     
     
     	</body>

  18. #18
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $lesMail = $managerMail->getListRecherche($numDos) ;
    Si tu changes le nom de ta fonction ici, change le getList() de l'autre côté.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $q = $this->db->prepare('SELECT * FROM mail order by mai_date desc');
        $q->execute();
     
     
        $q = $this->db->prepare("SELECT * FROM mail order by mai_date desc where num_dossier like ".$var);
        $q->execute();
    Pourquoi deux requêtes?

    Change
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $q = $this->db->prepare("SELECT * FROM mail order by mai_date desc where num_dossier like ".$var);
        $q->execute();
    En
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $q = $this->db->prepare("SELECT * FROM mail order by mai_date desc where num_dossier like '".$var."'");
        $q->execute();

  19. #19
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2016
    Messages : 60
    Par défaut
    Oupps trop de code de partout je m'y perd

    Alors j'ai fais comme tu m'a dis , j'ai bien changé le nom de la fonction des deux coté dans listeMail.php et dans mon manager...
    Par contre j'ai une erreur
    Warning: PDOStatement::execute(): in MailManager.php on line 142[/B] et [B]Warning: Invalid argument supplied for foreach() in listeMail.php on line 46

    pour info mon

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $lesMail = $managerMail->getListRecherche($numDos) ;
            var_dump($lesMail);
    me retourne null

  20. #20
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Par défaut
    Alors, pour résumer :

    Ton mailManager.php :

    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
    <!DOCTYPE html>
    <html >
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
          <?php
            // définition des includes
            include("Include/coBdd.php") ;
            include ('Include/menu.php');
     
     
     
     
            //definition des managers 
            $managerMail = new MailManager($pdo) ;
     
        if (isset($_POST["rechercherMail"]))
        {
          $numDos = $_POST['numDossRech'] ; 
          $a = $managerMail->rechercherMail($numDos) ; 
          //var_dump($numDos) ; 
          var_dump($a) ;
        }
     
            ?>
     	</head>
     	<body>
     		<h1> Liste des mails </h1>
     
     
     		 <table class="table  table-striped">
       			<thead> 
    	   			<tr>
                <th>Date</th>
    	   				<th>Numéro Dossier</th>
    	   				<th>Catégorie</th>
    	   				<th>Sujet</th>
                <th></th>
    	   			</tr>
    	   		</thead>
     
    			<tbody> 
     
          <?php 
            $lesMail = $managerMail->getListRechercher($numDos); 
     
            foreach ($lesMail as $unMail)
                {
     
                  ?> 
                  <tr>
                   <th>  <?php echo $unMail->getDate() ; ?> </th>
                    <th> <?php echo $unMail->getNumDossier() ; ?> </th>
                    <th> <?php echo $unMail->getCat();   ?> </th>
                    <th> <?php echo $unMail->getSujet() ; ?> </th>  
                    <th> <?php echo '<a href=consulterMail.php?id='.$unMail->getId().'> '?> Consulter
                    </a> 
                    </th>  
                  </tr>
                  <?php
                }
     
         ?>
    Ton listeMail.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public function getListRechercher($var)
      {
        $mails = [];
     
        $q = $this->db->prepare("SELECT * FROM mail order by mai_date desc where num_dossier like '".$var."'");
        $q->execute();
     
        while ($donnees = $q->fetch(PDO::FETCH_ASSOC))
        {
          $mails[] = new Mail($donnees['mai_id'], $donnees['mai_sujet'],$donnees['mai_adresseMailDest'],
                              $donnees['mai_numDossier'], $donnees['mai_corpMess'], $donnees['mai_categorie'],$donnees['mai_personne'],$donnees['mai_date']);
        }
     
      }
    Essaie comme ça, donne moi les erreurs et les lignes associées

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [MySQL] Formulaire de recherche sur mon site
    Par server.dbprod dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 07/07/2014, 11h34
  2. Réponses: 0
    Dernier message: 24/07/2013, 02h10
  3. Comment avoir le moteur de recherche google sur mon site
    Par l.laurent60 dans le forum Débuter
    Réponses: 1
    Dernier message: 18/01/2011, 22h29
  4. Problème insertion module Java sur mon site
    Par Sanoe dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/04/2010, 08h42
  5. Avoir la recherche Google sur mon site
    Par bruce-willis dans le forum Débuter
    Réponses: 4
    Dernier message: 23/02/2009, 13h54

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