récupérer les articles de la semaine?

Discussion dans 'Web, design' créé par DeScH, 23 Juillet 2006.

Statut de la discussion:
Fermée.
  1. Offline
    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 :)
    DeScH, 23 Juillet 2006
    #1
  2. Offline
    AssiuM Fan
    Fais un petit tour ici , je crois que ça va t'aider :)
    AssiuM, 23 Juillet 2006
    #2
  3. Offline
    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
    DeScH, 23 Juillet 2006
    #3
  4. Offline
    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()
    AssiuM, 23 Juillet 2006
    #4
  5. Offline
    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.
    DeScH, 23 Juillet 2006
    #5
  6. Offline
    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");
    AssiuM, 23 Juillet 2006
    #6
  7. Offline
    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 :)
    DeScH, 23 Juillet 2006
    #7
  8. Offline
    AssiuM Fan
    Tu as un message d'erreur à l'interprétation ou alors ça te sort juste n'importe quoi comme résultats ?
    AssiuM, 23 Juillet 2006
    #8
  9. Offline
    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
    DeScH, 23 Juillet 2006
    #9
  10. Offline
    AssiuM Fan
    est-ce que tu peux poster le contenu de deux trois cases "timestamp" ? (dont le timestamp d'articles de cette semaine)
    AssiuM, 23 Juillet 2006
    #10
  11. Offline
    DeScH AstaLaVista
    d'aujourd'hui : 1153658559
    du 8 juillet: 1152365244
    du 7 juillet : 1152282229
    DeScH, 23 Juillet 2006
    #11
  12. Offline
    AssiuM Fan
    J'ai réinstallé easyphp pour faire des tests :D

    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) ?
    AssiuM, 23 Juillet 2006
    #12
  13. Offline
    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
    DeScH, 23 Juillet 2006
    #13
  14. Offline
    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 ?
    AssiuM, 23 Juillet 2006
    #14
  15. Offline
    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)
    DeScH, 23 Juillet 2006
    #15
  16. Offline
    AssiuM Fan
    mysql_fetch_assoc , non ?
    AssiuM, 23 Juillet 2006
    #16
  17. Offline
    DeScH AstaLaVista
    ca ne change rien :s
    C'est quoi la différence? je sais pas ca
    DeScH, 23 Juillet 2006
    #17
  18. Offline
    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, 23 Juillet 2006
    #18
  19. Offline
    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]
    AssiuM, 23 Juillet 2006
    #19
  20. Offline
    DeScH AstaLaVista
    un grand merci. ca marche :-D
    DeScH, 23 Juillet 2006
    #20
Statut de la discussion:
Fermée.