Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2838 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  adapter une date pour pouvoir l'utiliser dans un requête

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

adapter une date pour pouvoir l'utiliser dans un requête

n°1997758
dovic31
Débutant en Développement
Posté le 01-06-2010 à 08:24:16  profilanswer
 

Bonjour à tous ;
j'ai vraiment besoin de vos aides mes chers amis ; voilà j'exploite une base accès et je devrai faire une requête en faisant un critère sur cette date . sauf le problème c'est qu'elle est  de format (visuellement sous accès ) on le voit sous se format : 13-mai-10  mais quand je crée un programme simple qui me permet d'afficher la date le résultat m'affiche : 1998-02-26 00:00:00
donc forcément dans la requête ; on doit changer la date qu'on entre sous ce format : un exemple de code que j'ai dû mal à faire pour que çà marche :
en fait le programme est réalisé pour affciher les personnes selon une date de naissance précise ; donc au départ je pensais mettre un formulaire et après on récupère le jour le mois et l'année  

Code :
  1. <?php
  2.     //connection au serveur:
  3.     $cnx = odbc_connect( "DSN_personnes", "root", "" ) or die("Impossible de se connecter à la bas de donn&eacutee" ) ;
  4.    
  5.     //1998-02-26 00:00:00
  6.    
  7.    
  8.     // on suppose que l'utilisateur a entré çà  : 13 mai 2010
  9.     $date = "13-mai-10 ";
  10.    
  11. // il faut le transformer au format date  
  12.     $time = strtotime( $date );
  13.    
  14.     $myDate = date( 'Y-m-d', $time ); // c'est ici le problème comment le transformer sous format 1998-02-26 00:00:00
  15.     //requête SQL:
  16.     $sql = "SELECT * FROM personnes where Datenaissance like '$myDate' " ;
  17.     //ex&eacutecution de la requête:
  18.     $requete = odbc_do($cnx, $sql) ;
  19.     //affichage des donn&eacutees:
  20.     while( $result = odbc_fetch_object( $requete ) )
  21.     {
  22.        echo("<div align=\"center\">".$result->nom." ".$result->prenom.$result->Datenaissance." <a href=\"modification3.php?idPersonne=".$result->id_personne."\">modifier</a><br>\n" ) ;
  23.     }
  24.     odbc_close( $cnx); // ferme la connexion
  25.   ?>


 
quand j'execute ce code la page est blanche  :cry:  
 
je vous remrcie d'avance pour vos aides  :hello:

mood
Publicité
Posté le 01-06-2010 à 08:24:16  profilanswer
 

n°1997800
stealth35
Posté le 01-06-2010 à 10:00:08  profilanswer
 

en lisant la doc de date ;), et pour la comparaison c'est avec =


Message édité par stealth35 le 01-06-2010 à 10:00:35
n°1997802
olivthill
Posté le 01-06-2010 à 10:01:40  profilanswer
 

Sous Access les dates doivent s'écrire avec un dièse (#) devant et un dièse derrière. De plus les dates ont un format qui dépend des options régionales de Windows. Pour moi, il fallait que j'utilise le format américain : #mm/dd/yyyy h:n:s#

n°1997807
stealth35
Posté le 01-06-2010 à 10:05:43  profilanswer
 

c'est possible, tu formates ta chaine comme tu le souhaite

n°1997940
dovic31
Débutant en Développement
Posté le 01-06-2010 à 13:44:54  profilanswer
 

j'essai de suivre ce lien et comme vous l'avez dit qu'il faut adapter au format US :
http://www.developpez.net/forums/d [...] ql-access/
 
et j'ai refait le code mais çà ne marche pas :
 
 $sql = "SELECT * FROM personnes where Datenaissance  =  #"&Format(05-15-2010, "mm/dd/yyyy" )& # " ;
     
        //#" & format(date1,  "dd/mm/yyyy" ) & "
     
                                                       
 
    erreur :
Fatal error: Call to undefined function Format() in C:\wamp\www\FichierTransfert\personnes1.php  on line 96

n°1997941
stealth35
Posté le 01-06-2010 à 13:47:58  profilanswer
 

normale c'est du VB ca ...
de plus dans ton code strtotime("13-mai-10');  ca ne marche pas avec les nom francais


Message édité par stealth35 le 01-06-2010 à 13:52:17
n°1998281
olivthill
Posté le 02-06-2010 à 10:58:50  profilanswer
 

Citation :

$sql = "SELECT * FROM personnes where Datenaissance  =  #"&Format(05-15-2010, "mm/dd/yyyy" )& # " ;

Attention aux guillemets.
Et je ne suis pas sûr que Format passe car ce n'est pas une fonction PHP, ni SQL, juste une fonction Access. Essayer plutôt :

$sql = "SELECT * FROM personnes where Datenaissance  =  #05/15/2010 01:01:01#";

n°1998526
dovic31
Débutant en Développement
Posté le 02-06-2010 à 21:47:06  profilanswer
 

Bonjour ;
 
j'ai essayé le code que tu fournis olivthill mais rien ne marche ;
toujours une page blanche . justement Format n'est pas reconnu , il affiche une message d'erreur  

n°1998553
dovic31
Débutant en Développement
Posté le 02-06-2010 à 22:14:05  profilanswer
 

en fait ; c'est le tiré (-) sur la date qui pose problème :
en essayant cette requête et il marche :
 
<code>
 $sql = "SELECT * FROM personnes where Datenaissance = #31-07-1982# ";
</code>
mais il me reste la partie délicate ; comment je vais faire pour mettre la date que l'utilisateur entre sous ce format .
 
je sais que c'est à partir d'un $_GET
 
exemple :
 
$date = $_GET['dat'];
$mois = $_GET['mois'];
$annee =$_GET['an'];
 
mais après comment le convertir à ce que le format soit au même que  
#31-07-1982#  dans la requête

n°1998688
stealth35
Posté le 03-06-2010 à 11:02:57  profilanswer
 

c'est

Code :
  1. SELECT * FROM personnes WHERE Datenaissance = '#31-07-1982#'
 

avec des quotes autour de la date


Message édité par stealth35 le 03-06-2010 à 11:03:07
mood
Publicité
Posté le 03-06-2010 à 11:02:57  profilanswer
 

n°1999496
dovic31
Débutant en Développement
Posté le 07-06-2010 à 11:19:03  profilanswer
 

en fait j'ai mis ce que stealth35 m'avais indiqué  et çà marche :
 

Code :
  1. $recherhe = "31-10-1997";
  2.             $limite = "27-02-1998";
  3. $sql = "SELECT Num,Codeclient,DenominationClient,Dateeffet,Typedepolice,CodeCompagnie FROM Police where Dateeffet between  #$recherhe#  and  #$limite#
  4.     GROUP BY CodeCompagnie,Typedepolice,Num,Codeclient,DenominationClient,Dateeffet";


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  adapter une date pour pouvoir l'utiliser dans un requête

 

Sujets relatifs
[reglé] Plusieurs requete COUNT ?[R/Java/C++] Utiliser le moteur de rendu graphique R dans une appli
[RESOLU][MySQL] requete toute simpleréutiliser un alias dans une même requête
Checkbox sous Excel (Simple requête )Utiliser un iterator sur un vector à 2 dimensions - position
[MySQL] Sous requeteProblème de requête de calculs de moyennes
Requete Access avec paramètres, éxécutée en VB .NetRequete COUNT par menu deroulant.
Plus de sujets relatifs à : adapter une date pour pouvoir l'utiliser dans un requête


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR