Manipuler des dates PHP

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


webac
WRInaute impliqué
WRInaute impliqué
 
Messages: 359
Inscription: Ven Mar 04, 2005 17:30

Manipuler des dates PHP

Message le Lun Aoû 14, 2006 8:28

Bonjour,

Tout dabord je me dois de preciser que je débute en PHP.
dans ma base de données j'ai des enregistrement de dates sous forme
14-08-2006 en VARCHAR.

je souhaiterais afficher des données stockées entre deux dates comment faire?

ma requete actuelle ne fonctionne pas tout a fait :

Code: Tout sélectionner
$sql = "SELECT * FROM matable WHERE monchamps BETWEEN '$dat1' AND '$dat2' ";


pouvez vous m'aider please.

netsys
WRInaute accro
WRInaute accro
 
Messages: 1110
Inscription: Sam Juil 17, 2004 18:47

Message le Lun Aoû 14, 2006 8:44

Tu compare tes dates avec quel type de champs ?
Si c'est des dates mysql il faut transformer tes dates php au format de ta BD.


webac
WRInaute impliqué
WRInaute impliqué
 
Messages: 359
Inscription: Ven Mar 04, 2005 17:30

Message le Lun Aoû 14, 2006 8:59

je n'ai pas tout a fait saisi ce que tu as écrit.

mes dates ne son pas des dates mysql ce sont des dates saisies directement dans la base de données mais mon soucis est qu'il ne me les considere pas comme des dates.


mowmow
WRInaute passionné
WRInaute passionné
 
Messages: 975
Inscription: Mer Nov 03, 2004 9:40

Message le Lun Aoû 14, 2006 9:03

Salut,

Premièrement ton champ doit être de type DATETIME pour que tu puisses bénéficier des très puissantes fonctions de calculs de date de mysql. Etant donné que ton champ est sous la forme varchar, ca ne sera pas possible. De plus je crois que le format de tes dates n'est pas correct pour mysql. Si j'ai le temps je te donnerais un petit bout de code pour transformer tes dates en format correct ;)

En attendant il y a cette page :

http://mysql.com/doc/refman/5.0/fr/date ... tions.html

Tu y trouveras ton bonheur ;)

Pour ton problème, si tu sais que $date1 est inférieur à $date2 :

Code: Tout sélectionner
$sql = 'SELECT * FROM matable WHERE monchamps > '$date1' AND monchamps < '$date2';


Après avoir converti correctement tes champs en DATETIME ;)


webac
WRInaute impliqué
WRInaute impliqué
 
Messages: 359
Inscription: Ven Mar 04, 2005 17:30

Message le Lun Aoû 14, 2006 9:06

merci pour ces précision je me remets au travail de suite.


webac
WRInaute impliqué
WRInaute impliqué
 
Messages: 359
Inscription: Ven Mar 04, 2005 17:30

Message le Lun Aoû 14, 2006 9:22

ok mes dates sont maintenant au format DATE aaaa-mm-jj comment afficher mon resultat en jj-mm-aaaa ?


Artefact2
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 104
Inscription: Dim Juil 23, 2006 13:57

Message le Lun Aoû 14, 2006 10:53

Va voir la doc MySQL ;)

iD.NicKy
Nouveau WRInaute
 
Messages: 23
Inscription: Dim Aoû 28, 2005 20:56

Message le Lun Aoû 14, 2006 12:45

webac a écrit:ok mes dates sont maintenant au format DATE aaaa-mm-jj comment afficher mon resultat en jj-mm-aaaa ?


tu transforme ta date en timestamp puis tu la repasses en date

++


mowmow
WRInaute passionné
WRInaute passionné
 
Messages: 975
Inscription: Mer Nov 03, 2004 9:40

Message le Lun Aoû 14, 2006 15:00

webac a écrit:ok mes dates sont maintenant au format DATE aaaa-mm-jj comment afficher mon resultat en jj-mm-aaaa ?


Très simple : SELECT GET_FORMAT(date,'EUR') FROM table ou plus de liberté avec DATE_FORMAT(date, '%d %m %Y');

Voir la doc ;)


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités