récupérer les articles de la semaine?

Statut
N'est pas ouverte pour d'autres réponses.
1er
OP
DeScH

DeScH

AstaLaVista
J'ai un prob en fait avec ta requete:

$retour = mysql_query("SELECT * FROM news WHERE YEARWEEK(FROM_UNIXTIME(timestamp))=YEARWEEK(CURDATE()) AND categorie != 'images'ORDER BY id DESC");

si c'est publié deepuis plus de 2 jours, il affiche plus :-s
 
1er
OP
DeScH

DeScH

AstaLaVista
:-(
 

AssiuM

Fan
Merde désolé je sais pas vraiment t'aider plus :-( , j'espère que cet up caché t'aidera ... :oops:
 

Bingo

Beer Addict
Ton timestamp est un champ de type TIMESTAMP ?
Tu cherches les messages de la semaine en cours (c'est à dire depuis lundi), ou des 7 derniers jours ?

A supposer que tu aies bien champ de type TIMESTAMP
Les messages des 7 derniers jours :
SELECT id FROM news WHERE timestamp > DATE_ADD(CURDATE(),INTERVAL -7 DAY);
Les messages de la semaine (avec comme premier jour lundi) :
SELECT id FROM news WHERE DATE_FORMAT(timestamp, '%x%u')= DATE_FORMAT(CURDATE(), '%x%u');


PS : Une remarque d'ordre général : ne fais pas de "SELECT *" ! Précise tous les champs que tu sélectionnes.
 

II phl II

Touriste
fais également attention aux espaces qui s'ajoutent dans les requêtes dans l'affichage des messages sur GamerZ.be

Comme INTERVAL qui s'affiche INTER VAL dans le message juste au-dessus... n'oublie donc pas d'enlever ces espaces
 
1er
OP
DeScH

DeScH

AstaLaVista
Merci de votre aide, en fait, c'est les messages des 7 derniers jours.
Mais ta requete ne marche pas, il m'affiche meme les posts de juillet :s
 

Bingo

Beer Addict
DeScH a dit:
Merci de votre aide, en fait, c'est les messages des 7 derniers jours.
Mais ta requete ne marche pas, il m'affiche meme les posts de juillet :s
Ton champ timestamp est bien de type TIMESTAMP ?
Tu n'as pas plutôt un champ de type DATETIME quelque part ?
 
1er
OP
DeScH

DeScH

AstaLaVista
mince non, j'ai fait un champ int, le prob c que tout mon site est avec le champ int, et maintenant que je l'ai mis en timestamp il me met 1/11970 comme date partout
 

Bingo

Beer Addict
Ah oui... Evidemment.
C'est pas une bonne idée le timestamp, parce qu'il se met à jour automatiquement à change fois que tu modifies l'enregistrement.
Tu ferais mieux de faire un champ DATETIME et d'insérer la date et l'heure courantes (NOW()) quand tu insère un enregistrement.
 
1er
OP
DeScH

DeScH

AstaLaVista
Bingo a dit:
Ah oui... Evidemment.
C'est pas une bonne idée le timestamp, parce qu'il se met à jour automatiquement à change fois que tu modifies l'enregistrement.
Tu ferais mieux de faire un champ DATETIME et d'insérer la date et l'heure courantes (NOW()) quand tu insère un enregistrement.
non, heureusement que j'ai modifié ca en local. et il n'y a pas moyen de faire quelque chose avec un cham int?
 

Bingo

Beer Addict
DeScH a dit:
non, heureusement que j'ai modifié ca en local. et il n'y a pas moyen de faire quelque chose avec un cham int?
Quel type de choses ?
 
1er
OP
DeScH

DeScH

AstaLaVista
Ben de récupérer les articles de la semaine ^^
 

Bingo

Beer Addict
Récupérer les articles de la semaine avec un champ int ?
Il y a quoi dans ton champ int ?
 
1er
OP
DeScH

DeScH

AstaLaVista
1152365244 par exemple

la requete c'est
mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . $pseudo . "', '" . time() . "' , '" . $categorie . "' )");
donc time()
 

Bingo

Beer Addict
Ahhhhhhh OK !
Je comprends !
D'où le "FROM_UNIXTIME" !

Tu veux pas te faire une colonne DATETIME ?

ALTER TABLE news ADD COLUMN tmp DATETIME;
UPDATE news SET tmp=FROM_UNIXTIME(timestamp);
ALTER TABLE news CHANGE timestamp old_timestamp INTEGER;
ALTER TABLE news CHANGE tmp timestamp DATETIME;

Comme ça tu auras une vraie colonne avec des dates ?
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut