DATE et mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : DATE et mysql

par DAV » 23 nov. 2005, 21:01

EXEMPLE AVEC LA BASE DE DONNÉ NORTHWIND

SELECT LastName, FirstName FROM Employees WHERE MONTH(HireDate)=10--octobre

par K20 (non logué) » 22 oct. 2005, 19:57

Merci beaucoup !
Je pense que ça devrais fonctionner pour moi aussi ^^ je vous dis ça demain ;)

par Truc » 21 oct. 2005, 23:06

Merci beaucoup Monsieur Truc et Monsieur Zeus de m'avoir très gentiment aidé.
Je pense qu'il n'en fallais pas tant , mais de rien 8)

manque plus que tu met le sujet en [Résolu]

par milooser » 21 oct. 2005, 22:57

Merci beaucoup Monsieur Truc et Monsieur Zeus de m'avoir très gentiment aidé. Je vous aime de tout mon petit coeur et voilà.

par Truc » 21 oct. 2005, 22:01

Salut DATE_FORMAT attends en 1er paramètre un type DATE ou DATETIME. Puisque tu as un timestamp il faut le convertir en date explotable avant, essaie comme ça:

Code : Tout sélectionner

SELECT * FROM $table[texte] WHERE DATE_FORMAT(FROM_UNIXTIME(date),'%c')=$mois"

par milooser » 21 oct. 2005, 21:36

Bonjour,
oui j'en ai puisque quand je fais date('n',$req['date']) j'ai bien la valeur du mois, même pour l'exemple avec le mois de juillet. Je comprends pas du tout.

par zeus » 21 oct. 2005, 17:33

Question bête : est-ce que tu as des enregistrements qui correspondent à cette sélection ?

par Invité » 21 oct. 2005, 17:21

Le champ 'date' :
date INT(10) avec que des enregistrements en timestamp

La requête pour le mois de juillet :
SELECT * FROM `alberticle_texte` WHERE DATE_FORMAT(date,'%c')='7'

Résultat :
Votre requête SQL a été exécutée avec succès (traitement: 0.0004 sec.)

requête SQL:
SELECT *
FROM `alberticle_texte`
WHERE DATE_FORMAT( date, '%c' ) = '7'
LIMIT 0 , 30

Encore merci merci

par zeus » 21 oct. 2005, 16:50

Est-ce que tu peut m'afficher cette requete stp ?

par milooser » 21 oct. 2005, 16:41

Pas mal comme moyen de test je ne connaissais pas. Côté résultat, oui ça ne retourne rien du tout, nada.

par zeus » 21 oct. 2005, 15:00

Fait afficher la requete genèrée et execute là directement dans PhpMyAdmin pour voir si elle donnes qqchose ou pas

par milooser » 21 oct. 2005, 14:56

Bonjour,
merci encore pour tes réponses mais ça ne me renvoie toujours rien cette requête :
Voici mon code, avec toujours $mois un nombre 1,...,12, le paramètre %c recherche donc bien un chiffre de la même forme 1,...,12.


Code : Tout sélectionner

$q_archive=mysql_query("SELECT date FROM $table[texte]"); while($l_archive=mysql_fetch_assoc($q_archive)) { if($mois!==date('n',$l_archive['date'])) { $mois=date('n',$l_archive['date']); $q_titre=mysql_query("SELECT * FROM $table[texte] WHERE DATE_FORMAT(date,'%c')='$mois'"); while($l_titre=mysql_fetch_array($q_titre)) { echo '<p>'.$l_titre['titre'].'</p>'; } } else echo ""; }
Et ça ne renvoie toujours rien, je vois pas ce que c'est :/

Merci encore d'avance.

par zeus » 21 oct. 2005, 13:55

excuse moi K20, j'avais mal lu ton post

Donc, si tu mémorise le timestamp, c'est comme pour milooser, il faut utiliser DATE_FORMAT. consulte la table des formats pour ne retourner que le mois

par K20 (non logue) » 21 oct. 2005, 13:48

Heu, desole mais je n'ai absolument pas compris :(
Je peux utiliser DATE_FORMAT sur un champ entier ??

par zeus » 21 oct. 2005, 09:46

A l'un comme à l'autre

le requete de milooser devrait fonctionner à condition que $mois contienne le même type de données que le format demandé

@milooser : il faut que tu t'assure que $mois contient le nombre du mois entre 01 et 12

@K20 : pas besoin de formater ton mois, mais quand tu vas faire la requete SQL, il faut t'assurer que tu compare ton champs avec un entier