récupérer les articles de la semaine?

Statut
N'est pas ouverte pour d'autres réponses.

DeScH

AstaLaVista
Voila je cherche a récupérer mes articles de la semaine, mais ca foire
Je sais bien que c $semaine qui foire, mais je ne sais pas que mettre a la place.

$semaine == 3600*24*7;
$date = time();
$articles = $date - $semaine;
$retour = mysql_query("SELECT * FROM news WHERE timestamp <= '$articles' ORDER BY id DESC");

Merci de votre aide :)
 

AssiuM

Fan
Fais un petit tour ici , je crois que ça va t'aider :)
 
1er
OP
DeScH

DeScH

AstaLaVista
Merci mais je ne comprends pas comment manipuler ces fonctions :-S
$retour = mysql_query("SELECT * FROM news WHERE ADDDATE(timestamp, INTERVAL 7 DAY)");
ca ne marche pas
 

AssiuM

Fan
Pour pouvoir te répondre de manière complète, il faudrait connaître la structure de la base et cie, mais la fonction dont tu auras besoin pour ce que tu cherches à faire (si j'ai bien compris ce que tu veux faire) est : week()
 
1er
OP
DeScH

DeScH

AstaLaVista
en fait, j'ai des articles qui sont stockés dans ma base de données.
la table c'est news
elle comprend le champ id, titre, contenu, timestamp (date du message posté), auteur, categorie...
Et je voudrai retrouver une fonction qui me permet de récupérer tout ce qui a moins d'une semaine donc ca doit etre un truc du genre
la date d'aujourd'hui - 1 semaine.
 

AssiuM

Fan
Sans aucune certitude, à tester et sûrement à corriger (je n'ai rien ici pour tester ça )

$retour = mysql_query("SELECT * FROM news WHERE YEARWEEK(FROM_UNIXTIME('timestamp')) = YEARWEEK(CURDATE()) ORDER BY id DESC");
 
1er
OP
DeScH

DeScH

AstaLaVista
merci mais ca ne marche pas :-s
Je vais qd meme essayer de le modifier, mais hésite pas si tu as encore des idées :)
 

AssiuM

Fan
Tu as un message d'erreur à l'interprétation ou alors ça te sort juste n'importe quoi comme résultats ?
 
1er
OP
DeScH

DeScH

AstaLaVista
il n'y a aucun message d'erreur mais le cadre qui est sensé contenir le titre, le contenu et l'auteur apparait mais n'est pas rempli
 

AssiuM

Fan
est-ce que tu peux poster le contenu de deux trois cases "timestamp" ? (dont le timestamp d'articles de cette semaine)
 
1er
OP
DeScH

DeScH

AstaLaVista
d'aujourd'hui : 1153658559
du 8 juillet: 1152365244
du 7 juillet : 1152282229
 

AssiuM

Fan
J'ai réinstallé easyphp pour faire des tests :mrgreen:

SELECT YEARWEEK(FROM_UNIXTIME(1153658559))
retourne : 200630

SELECT YEARWEEK(CURDATE())
retourne : 200630



ça a donc pourtant l'air de fonctionner comme ça o_O

Est-ce que tu as bien mis timestamp (en un mot, j'ai remarqué que gamerz a rajouté un espace dans ce que j'ai mis) ?
 
1er
OP
DeScH

DeScH

AstaLaVista
Bah oui pourtant,

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

je ne comprend pas :-s
 

AssiuM

Fan
Est-ce que tu fais le query une seule fois, ou alors est-ce que tu le fais en parcourant chaque ligne de la bdd ?
 
1er
OP
DeScH

DeScH

AstaLaVista
je la fais en parcourant chaque ligne :

$retour = mysql_query("SELECT * FROM news WHERE YEARWEEK(FROM_UNIXTIME('timestamp')) = YEARWEEK(CURDATE()) ORDER BY id DESC");
while ($donnees = mysql_fetch_array($retour))
{
echo $donnees['titre'];
echo $donnees['contenu'];
echo $donnees['pseudo'];
}
?>
(en retirant les tableaux)
 

AssiuM

Fan
mysql_fetch_assoc , non ?
 
1er
OP
DeScH

DeScH

AstaLaVista
ca ne change rien :s
C'est quoi la différence? je sais pas ca
 

AssiuM

Fan
bah si je me souviens bien :
mysql_fetch_assoc te retourne les données dans un tableau avec comme indices les noms de champs (ex : $tableau['id'] , $tableau['libellelong'] ) , alors que mysql_fetch_array te les retourne dans un tableau du genre : $tableau[0] , $tableau[1] , $tableau[2]
 

AssiuM

Fan
Trouvé, suffit de retirer les ' ' de timestamp. ça donne donc :

[gv3box=code final]SELECT * FROM `test` WHERE (YEARWEEK(FROM_UNIXTIME(timestamp)) = YEARWEEK(CURDATE()))[/gv3box]
 
1er
OP
DeScH

DeScH

AstaLaVista
un grand merci. ca marche :-D
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut