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 :

Créer un requête à partir d'une plage de date


Sujet :

PHP & Base de données

  1. #1
    Débutant Avatar de razily
    Inscrit en
    Février 2009
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 376
    Points : 154
    Points
    154
    Par défaut Créer un requête à partir d'une plage de date
    Bonjour à tous ;

    voilà j'exploite une base access ; et voilà mon problème : ma mission c'est d'afficher tous les listes de contrat suivant un palge de date pour cela alors j'ai créé un 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
    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
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
     
     
    <!--
    ici on traite la recherche avancée selon le choix de l'utilisateur .
    -->
    <!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>Recherche Avanc&eacute;e Date</title>
            <link rel="stylesheet" media="screen"type="text/css"
                      title="styleAuto" href="RechercheAvancDate.css"/>
        </head>
        <body>
     
            <h2 id="titre" >Recherche Avanc&eacute;e Date </h2>
              <a href="Acceuil.php">Accueil</a>
     
     
     
     
     
     
    <?php
    $datecontrat = array(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);
    $moiscontrat = array("1"=>"Janvier","2"=>"Février","3"=>"Mars","4"=>"Avril","5"=>"Mai","6"=>"Juin","7"=>"Juillet",
        "8"=>"Ao&ucirc;t","9"=>"Septembre","10"=>"Octobre","11"=>"Novembre","12"=>"D&eacute;cembre");
    $anneecontrat = array(1990,1991,1992,1993,1994,1995,1996,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,
            2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,
        2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050);
     
    ?>
            <form action="ResultatAvancDate.php" method="GET">
     
            <div class ="periode" align="center">
                <label>Periode 1 </label>
     
                <select name="jour1">
     
                        <?php
                            foreach ($datecontrat as $val){
                                echo  "<option value=\"$val\">$val</option>";
     
                            }
                        ?>
                </select>
     
     
     
               <!-- <label>mois 1 :</label> -->
     
                <select name="mois1">
     
                        <?php
                            foreach ($moiscontrat as $cle=>$val){
                                echo  "<option value=\"$cle\">$val</option>";
     
                            }
                        ?>
                </select>
     
     
     
     
              <!--  <label>Annee 1 :</label> -->
     
                <select name="annee1">
     
                        <?php
                            foreach ($anneecontrat as $val){
                                echo  "<option value=\"$val\">$val</option>";
     
                            }
                        ?>
                </select><br />
     
     
     
     
                <!-- la periode 2 -->
     
     
                <label>Periode 2 </label>
     
                <select name="jour2">
     
                        <?php
                            foreach ($datecontrat as $val){
                                echo  "<option value=\"$val\">$val</option>";
     
                            }
                        ?>
                </select>
     
     
     
               <!-- <label>mois 1 :</label> -->
     
                <select name="mois2">
     
                        <?php
                            foreach ($moiscontrat as $cle=>$val){
                                echo  "<option value=\"$cle\">$val</option>";
     
                            }
                        ?>
                </select>
     
     
     
     
              <!--  <label>Annee 1 :</label> -->
     
                <select name="annee2">
     
                        <?php
                            foreach ($anneecontrat as $val){
                                echo  "<option value=\"$val\">$val</option>";
     
                            }
                        ?>
                </select>
     
     
     
     
                </div>
     
     
     
                   <div class="Etat" align="center">
     
                <h5>Etat police</h5>
     
     
     
     
                <select name="etat"  size=\"5\"  >
     
                    <option value="0" selected="selected">Tous</option>
     
                     <?php
                   $etat = array("1"=>"En cours","2"=>"Attente A.N","3"=>"Attente REV","4"=>"R&eacute;sil Sinistre","5"=>"R&eacute;sil Client",
                       "6"=>"R&eacute;sil Ctx","7"=>"R&eacute;sil interne","8"=>"Sans effet",
                              "9"=> "Susp Client","10"=>"Attente R&eacute;sil","11"=>"Fin de garantie",
                       "12"=>"Attente Dont acte","13"=>"Attente Avenant","14"=>"Projet","15"=>"Temporaire","16"=>"Attente Susp","17"=>"R&eacute;sil Compagnie");
     
     
     
                           foreach ($etat as $val=>$donnee){
                              echo "  <option value=\"$val\">$donnee</option>";
     
                           }
     
                     ?>
     
                     </select>
     
                    </div>
     
     
                 <input class="valider" type="submit" value="Valider" name="ok" />
     
            </form>
     
     
      </body>
    </html>
    maintenant on récupère :
    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
     
    <?php
     
    // c'est pour l'utilisation de datefr
    require("fonction.php");
    /* 
     * le resultat après avoir fourni les donnéess dans le fichier rechercheAvancDate.php
     * on recupere les parametres
     */
     
     
     
     
     
          $etat = ($_GET['etat']);
     
        $jour = $_GET['jour1'];
         $mois = $_GET['mois1'];
          $annee = $_GET['annee1'];
     
          $jour2 = $_GET['jour2'];
         $mois2 = $_GET['mois2'];
          $annee2 = $_GET['annee2'];
     
     
     
            // on transforme le resultat selon le format de la base 
           // la date effet est de ce format 01-août-02 sous acces  format (Date, réduit )
           $recherhe = $jour.'-'.$mois.'-'.$annee ;
            $limite = $jour2.'-'.$mois2.'-'.$annee2 ;
     
     
      // la requête :
     
        $sql = "SELECT NumPol, IDCabinet ,Codeclient,Denomination,Dateeffet,Typedepolice,CodeCompagnie ,NumPolice, Codeetatpolice FROM PoliceClientphp
                where Dateeffet between  #$recherhe#  and  #$limite#
                 GROUP BY CodeCompagnie,Codeetatpolice,NumPolice,Typedepolice,IDCabinet,Codeclient,Denomination,Dateeffet,NumPol";
     
      $requete = odbc_do($cnx, $sql) ;
     
     
                while($result=odbc_fetch_array($requete))
     
          {
     
                      $dateeffet=(string)($result['Dateeffet']);
                       datefr($dateeffet);
     
         }

    fonction datefr (1 fonction qui affiche la date sous format français
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     function datefr($valeur){
     
    		 list($annee, $mois, $jour1) = explode("-", $valeur);
     
    		// on récupère le vrai jour
    		 $jour = explode(" ",$jour1);
     
    		 echo $jour[0].'/'.$mois.'/'.$annee;
     
     
     
    		 }
    le problème ici et le réel souci , c'est que la requête affiche des données qui ne sont pas juste ; plutôt manquante par exemple si je sélectionne

    periode 1 : 1 janvier 2010

    periode 2 : 1 juin 2010

    etat : en cours

    j'ai l'impression qu'il n'affiche que le mois de janvier , alors que si je passe
    dans la periode 2 à 30 juin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    periode 1 : 1 janvier 2010 
     
    periode 2 : 30 juin 2010
    etat en cours :
    il affiche des contrat entre janvier et juin (février ..)
    alors je ne sais pas quoi qu'est ce qui cloche ??
    ou le fait que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    between  #$recherhe#  and  #$limite#
    soit en chaîne de caractère où il faudrait l'adapter en format date

    merci d'avance c'est vraiment urgent

  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
    Est-ce que tu as validé que tes requêtes fonctionnaient dans access ? en particulier ce format de date ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [VxiR2] Créer un indicateur à partir d'une requête SQL
    Par BipBipBO dans le forum Deski
    Réponses: 4
    Dernier message: 29/07/2014, 09h18
  2. [AC-2003] Créer plusieurs graphiques à partir d'une requête
    Par DonKnacki dans le forum IHM
    Réponses: 4
    Dernier message: 23/06/2011, 09h33
  3. créer un xml à partir d'une plage de cellules
    Par WillyPayne dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/09/2008, 13h52
  4. creer plusieurs requêtes à partir d'une
    Par pixeldargent dans le forum Access
    Réponses: 8
    Dernier message: 18/10/2005, 11h44
  5. Réponses: 5
    Dernier message: 24/06/2005, 11h36

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