Probleme au niveau des dates et de la methodologie

Eléphant du PHP | 450 Messages

12 déc. 2006, 18:10

Bonjour ,
je voudrais recuperer la date maximum contenue dans ma base de donnée mais j'ais un probleme , il prend seulement le jour maximum de la date

exemple:

la valeur maximum contenue dans ma bd est : 14-12-2006
et en faisant:

Code : Tout sélectionner

$selectdate="select max(date_val) from historique"; $querydate= mysql_query($selectdate,$link) or die ('Erreur : '.mysql_error() ); $datemax= mysql_fetch_row($querydate); $datemaxtotal=$datemax[0]; echo $datemaxtotal;
il me donne le 26-11-2006

(ps dans ma base de donnée le champ n'est pas mis en date mais en varchar 10)

de meme dans une autre requete je fais order by date_val
et il me trie le tableau seulement par les jours les plus recents alors qu'il faudrai qu'il commence par rechercher une année ou un mois :/

donc je me demandai comment fair pour qu'il me donne le bon resultat voila voila

merci encore
Modifié en dernier par castelli le 13 déc. 2006, 12:28, modifié 1 fois.
Alone in the dark , I smile :D

Eléphanteau du PHP | 46 Messages

12 déc. 2006, 18:21

Tu stockes la date au format carh(10) sous quel format : AAAAMMJJ ?

Eléphant du PHP | 258 Messages

12 déc. 2006, 18:22

Salut justement pour trier une date sa serait preferable que elle soit au format 'date' car 'vachar' c'est pour les chaines de caractere.

Va voir là peut etre : http://www.phpfrance.com/forums/viewtop ... highlight=

Eléphant du PHP | 450 Messages

13 déc. 2006, 11:12

Bon j' ai essaillé de mettre mes dates aux formats dates comme vous le preconisiez hier 0000-00-00

et la façon dont je fais mes dates est :

$date = date("Y-d-m");

Pourtant dans ma base de donnée il rentre un ensemble vide "0000-00-00"

en faisant un echo de ma requete j'obtient cela :

INSERT INTO historique VALUES ('10281-56-8','Acros','12.36','2','21','(-)-beta-citronellene','2006-12-12','259.56','gc','1844','14','1','1','2006-13-12')

donc voila , a votre avis pourquoi j'ai une date vide? : /

(jvai verifier pendant ce temps la de mon coté )

merci encore
Alone in the dark , I smile :D

Eléphant du PHP | 258 Messages

13 déc. 2006, 11:15

Salut ton champ ou tu met la date est il bien au format 'date' je parle dans la base de donnée

ViPHP
ViPHP | 1961 Messages

13 déc. 2006, 11:19

Bonjour,

Il serait juditieux que tu nous donnes la structure de ta table (commande "DESCRIBE nom_table;") et la requête exacte que tu utilises.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 450 Messages

13 déc. 2006, 11:24

Voici pour la structure de la table :

Field Type Null Key Default Extra
numero_cass longtext
fournisseur varchar(30)
prix varchar(30)
quantite varchar(30)
nombre_quantite varchar(30)
nom longtext
date date 0000-00-00
prix_total varchar(30)
initiale varchar(30)
reference varchar(30)
reference_fournisseur varchar(30)
equipe varchar(30)
groupe varchar(30)
date_val date 0000-00-00


sinon pour ma requete , les autres parametre fonctionne bien donc je ne pense pas que sa puisse venir de la mais bon on sait jamais :)
$insertion="INSERT INTO historique VALUES ('".$rangCmde2['numero_cass']."','".$rangCmde2['fournisseur']."','".$rangCmde2['prix']."','".$rangCmde2['quantite']."','".$rangCmde2['nombre_quantite']."','".$rangCmde2['nom']."','".$rangCmde2['date']."','".$rangCmde2['prix_total']."','".$rangCmde2['initiale']."','".$rangCmde2['reference']."','".$rangCmde2['reference_fournisseur']."','".$rangCmde2['equipe']."','".$rangCmde2['groupe']."','".$date."')";
			$result_insertion=mysql_query($insertion,$link) or die ('Erreur : '.mysql_error() );
				echo $insertion;
ps: pour creer la variable $date je fais:
$date = date("Y-d-m");
voila :)
Alone in the dark , I smile :D

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 déc. 2006, 11:31

$date = date("Y-d-m");
Pourquoi le jour au milieu ? le format ne serait il pas plutôt Année-mois-jour ? :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

ViPHP
ViPHP | 1961 Messages

13 déc. 2006, 11:32

Re,

Je te parlait de la requête qui doit te donner la date maximum.
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

ViPHP
ViPHP | 1961 Messages

13 déc. 2006, 11:33

$date = date("Y-d-m");
Pourquoi le jour au milieu ? le format ne serait il pas plutôt Année-mois-jour ? :)
:pouce:
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 450 Messages

13 déc. 2006, 12:01

lol , merci Ryle :) (c'etait vraiment trop bete comme erreur ^^)

Sinon je regardai comment faire pour faire la difference entre la date actuelle est une date dans la base de donnée

est ce bien comme sa que vous procederiez?

"SELECT DATEDIFF('CURDATE()','"..$voir['date_val']."') AS difference FROM historique";
Alone in the dark , I smile :D