logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
37 visiteur(s) et 1 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 108 495 718

  • Nb. de membres 8 693
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  SFORM »» Probleme avec le MONTH() sur le champ T1

Nouveau sujet
 Probleme avec le MONTH() sur le champ T1#11515Répondre

4Contributeur(s)
NickoMTribal-DolphinAnonymeaxel
3 Modérateur(s)
developpeurjpbJireck
NickoM NickoMicon_post
Salut,

J'ai un probleme que je n'ai pas réussi à resoudre :
J'ai modifier le formulaire.php dans le dossier module/sform/extend-user/extender/ de maniere à pouvoir recuperer une date.
Quand on s'enregistre sur le site, on tape la date au format dd/mm/yyyy qui s'inscrit dans le champ T1 sous le meme format.
Mon probleme vient du fait que j'ai besoin de faire une recherche par mois.
J'ai essayé d'utiliser MONTH() dans la requete sql de ma page, mais il ne me retourne rien, et pour cause, le format qu'il attend et du type yyyy-mm-dd.
Quant on rentre la date dans le format yyyy-mm-dd dans le formulaire d'inscription, MONTH() marche.
Y aurait-il un moyen de pas à avoir à demander aux utilisateurs de rentrer la date sous ce format mais de convertir la date au format compatible SQL? Ou alors, ou est-ce que je me suis planté?

Merci d'avance.
Tribal-Dolphin Tribal-Dolphinicon_post
Normal, y connais pas le champs ou il doit appliquer MONTH.
Essaye avec MONTH(T1]
Anonyme Anonymeicon_post
Evidemment, c'est ce que j'ai fait, MONTH(T1). Mais ca marche pas à cause du format de la date...
Je sais un minimum programmé. En fait, voilà ma requete, ce sera plus clair:
$result= mysql_query("SELECT u.name,v.C6,DAYOFMONTH(v.T1),MONTH(v.T1),YEAR(v.T1), u.uname FROM users u, users_extend v WHERE u.uid=v.uid AND month(v.T1)='$letter' ORDER BY DAYOFMONTH(v.T1) ASC");
Cela devrait me permettre de recuperer, grace à "mysql_fetch_array", le champ C6 (ça, ça marche), et les differents champs de la date... mais ça, ça ne marche pas...
Qu'en penses tu maintenant que c'est plus clairement exposé?
Tribal-Dolphin Tribal-Dolphinicon_post
quel est le contenu de $letter
NickoM NickoMicon_post
$letter = un chiffre de 1 à 12 qui represente le mois.
Je sais, c'est pas tres explicite, mais bon, j'avais la flemme de changer mon code.
Tribal-Dolphin Tribal-Dolphinicon_post
l'erreur peut être la, car MONTH renvoie une chiffre de 01 à 12
NickoM NickoMicon_post
Je viens de faire le test, le test de l'egalité n'est pas affecté par la presence du 0 ou non.
Je pense plutot que cela vient plutot du stockage au format jj/mm/aaaa.
Tribal-Dolphin Tribal-Dolphinicon_post
Arf, T1 est un varchar c ça ?
NickoM NickoMicon_post
Ouais, un varchar de 10 caracteres.

Y aurai un moyen de modifier ce champ en un champ date sans avoir à repondre une partie du sform.php?
Je me suis penché dessus, et à premiere vue, ca m'a l'air assez couillu comme code. Je pense que j'aurais besoin d'un coup de main pour le modifier.
ou alors, on peut peut-etre rajouter un champ date dans la table extend-user et rajouter une fonction à sform.php.
Tribal-Dolphin Tribal-Dolphinicon_post
c pour ça que ça fonctionne pas !
Et malheureusement pas de solutions à ton soucis donc.
axel axelicon_post
j'ai lu en diagonale, mais si j'ai bien compris, tu veux faire une recherche que sur le mois, non ?

pourquoi ne pas faire la date sur 3 champs ? au lieu d'un ?
et recherche sur le champs mois...

non ?
ou je dis une connerie ?
Tribal-Dolphin Tribal-Dolphinicon_post
Pas con le axel !
NickoM NickoMicon_post
Je te rassure Alex, c pas une connerie, mais j'ai pas assez de champs de libre...
Par contre, une fonction qui transforme un string du type "jj/mm/aaaa" en "aaaa-mm-jj", le tout integré dans le fichier sform.php, ca vous parait possible?
Ca resoudrai mon probleme de format, vu que la requete SQL marche aussi sur un varchar à condition qu'il soit rigoureusement de la forme aaaa-mm-jj.
Avec 2, 3 pistes sur comment marche le fichier, je pourrais peut etre concocter quelque chose. En fait, la fonction, c'est pas trop un probleme, c'est surtout de l'integrer qui va etre hard...
Donc si vous avez des pistes...
Tribal-Dolphin Tribal-Dolphinicon_post


<?php
function GetMyDate($date) {

list(
$day,$month,$year) = explode("/",$date);
$MyDate = $year.
"-".$month."-".$day;
return $MyDate;

}

echo GetMyDate(
"22/01/1982");
?>




Message édité par : Tribal-Dolphin



Message édité par : Tribal-Dolphin

NickoM NickoMicon_post
Merci pour ce code qui, je pense marchera bien.
Je vais voir ce que je peux faire pour l'integrer dans sform.php.