NPDS

logo

Gestion de contenu
et de communauté

5 visiteur(s) et 0 membre(s) en ligne.
logo

Au delà de la gestion de contenu 'classique', NPDS met en oeuvre un ensemble de fonctions spécifiquement dédiées à la gestion de Communauté et de groupes de travail collaboratif.

logo

Il s'agit d'un Content & Community Management System (CCMS) robuste, sécurisé, complet, performant et parlant vraiment français.

logo

Gérez votre Communauté d'utilisateurs, vos groupes de travail collaboratif, publiez, gérez et organisez votre contenu dynamique !

Index du forum »»  Le coin des codeurs »» Base Mysql Codage

Base Mysql Codage#26609

2Contributeur(s)
domy59Jireck
3 Modérateur(s)
developpeurjpbJireck
domy59 domy59icon_post
Bonjour,

je ne sais pas si c'est ici qu'on pourra m'aider dans la modification d'un code concernant la table User, mais j'essaye quand même !

vola je voudrais faire ressortir un tableau de cette table user avec 2 conditions du genre chercher le mois et les années inferieur a une date, je bloque sur le 2eme critère sa passe sans erreur mais pas de tri dans la base?

je met le requête et si quelqu'un pouvez m'aider hé bien a grand merci a lui ou elle !

$result=mysql_query('select us.uid, u.uname, u.user_avatar, u.user_regdate, u.mns from '.$NPDS_Prefix.'users_extend us,
 '.$NPDS_Prefix.'users u WHERE u.uid=us.uid and us.T1 LIKE ''.$date.'%' 
AND us.T1 LIKE =''.$an1.'%'');


c'est au niveau du AND que ca ne donne rien ?
merci
Spoiler
PS: j'ai oublié de préciser que la variable "$an1" correspond à l'année en cours moins 60 année qui correspond à 1957 pour cette fois !!


Message édité par : domy59 / 04-12-2017 21:48

Jireck Jireckicon_post
Bonjour,

La colonnes T1 de users_extends est un varchar (chaine de caractere)

il est donc difficilement faisable

La première etant de faire quelque chose comme cela.


$an = '2000'; // année recherché
si besoin 
$an = $an - 60; 
 
$mois = '03'; // N° du mois recherché

$date = $mois .'/'. $an // 03/2000

$result=mysql_query('select us.uid, u.uname, u.user_avatar, u.user_regdate, u .mns from '.$NPDS_Prefix.'users_extend us, 
 '.$NPDS_Prefix.'users u WHERE u.uid=us.uid and us.T1 LIKE ''.$date.'%');

domy59 domy59icon_post
Merci Jireck

je vais essayer ca pour voir ce que ca donne !

je viens de réaliser que tu me donnais ma requête qui fonction déjà lol

en fait ce code existe déjà dans le module anniversaire et je voudrais juste ajouter un critère de sélection dans la base, ressortir les anniversaires des anciens en comparant l'année en cour moins 60 ans. exemple qui ne marche pas :

$result=mysql_query('select us.uid, u.uname, u.user_avatar, u.user_regdate, u.mns from '.$NPDS_Prefix.'users_extend us, 
'.$NPDS_Prefix.'users u WHERE u.uid=us.uid and us.T1 LIKE ''.$emonth.'%' and us.T1 LIKE ''.$an1.'%' >''.$an.'%'');





Message édité par : domy59 / 05-12-2017 22:48

Jireck Jireckicon_post
si tu veux les personnes plus agé que 60 ans ou qui on 60 ans

Tu fais seulement un traitement php ensuite

du genre


while (...) {

$annee = explode (userregdate, '/');
$annee[2] // recuration de l'année dans le champs userregdate

$year = date(y); recupere la date courante sur 2 digit
$year1 = $year - 60;

if ($annee[2] < year1){ /// remplacer < par = si tu veux juste que l'nnee soit 60 et pas moins
      j'enregiste ce que je veux 

}
}



Voila dans les grandes lignes
domy59 domy59icon_post
Merci pour ton aide, mais je ne vois pas trop ce qu'il faut mettre entre les Guillemet "", pour faire simple j'ai ajouté un champ a la table user_extend (T3)
qui correspond à l'Age '58,60,18 etc. ...)je pense que ce sera plus simple, du coup comment faire un 2eme critère par rapport a ce champ ??

merci pout ton aide