8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Je me heurte à un problème. J'ai une table dans laquelle je stocke entre autre :

l'id de la news
le titre de la news
la date de dépôt de la news

ce que j'essaye de faire c'est d'écrire une requête qui dise :

"Sélectionne moi toutes les news qui ont moins de 6 mois"

Je peux calculer le temps qui s'est écoulé entre aujourd'hui et la date de dépôt de la news $temps_ecoule = ($date du jour - $date_depot_news); mais comment faire pour l'intégrer à la requête.

J'espère que j'ai été clair. Merci de votre aide.
Modifié par pareto (04 Oct 2012 - 11:05)
Bonjour
ce serait pas quelques chose comme ca?
SELECT * FROM`monsite`
WHERE`monchampsdate`>'2012-06-04 11:23:45' //là tu met la date que tu veux
Merci de prendre le temps de me répondre.

Le problème avec WHERE`monchampsdate`>'2012-06-04 11:23:45'

est que la date est fixe, je cherche à calculer un intervalle entre la date du jour et celle de la mise en ligne de la news (maxi 6 mois). Si + 6 mois ne pas l'afficher.

Dans ma table j'ai bien la date de dépôt du type (1349215200) je peux connaitre la date du jour du type (135615200) et en faisant (135615200 - 1349215200) je peux connaitre la durée écoulée entre le dépôt et la date du jour.
Modifié par pareto (04 Oct 2012 - 11:32)
la solution de loicbcn semble adaptée, mais cette requête

$lecomptage="SELECT COUNT(*) AS total FROM grosplanv3 where (TIMESTAMPDIFF(MONTH, date_depot_news_str, NOW()) < 6) and (rubrique=$rubrique or rubrique2=$rubrique or rubrique3=$rubrique) and visible='oui' and id >='1368' ";
$retour_total=mysql_query($lecomptage); 
$donnees_total=mysql_fetch_assoc($retour_total); 


ne me renvoie aucun enregistrement
Modifié par pareto (04 Oct 2012 - 12:10)
Ton champs "date_depot_news_str" est-il de type date ou date time ou timestamp?
le str dans son nom laisse supposer que non.

Et sinon, es-tu sûr que cette requête, sans le filtre sur les dates retourne quelque chose ?
Essaies d'abord en ne filtrant que sur les dates, une fois que ça marche, tu ajoutes les autres filtres.
Modifié par loicbcn (04 Oct 2012 - 12:36)
ok merci loicbcn, j'ai résolu le problème en effet confusion entre date time et timestamp, tout est rentré dans l'ordre.