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
    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
    DeScH, 29 Août 2006
    #21
  2. Offline
    DeScH AstaLaVista
    :-(
    DeScH, 30 Août 2006
    #22
  3. Offline
    AssiuM Fan
    Merde désolé je sais pas vraiment t'aider plus :-( , j'espère que cet up caché t'aidera ... :oops:
    AssiuM, 8 Septembre 2006
    #23
  4. Offline
    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.
    Bingo, 8 Septembre 2006
    #24
  5. Offline
    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
    II phl II, 8 Septembre 2006
    #25
  6. Offline
    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
    DeScH, 8 Septembre 2006
    #26
  7. Offline
    Bingo Beer Addict
    Ton champ timestamp est bien de type TIMESTAMP ?
    Tu n'as pas plutôt un champ de type DATETIME quelque part ?
    Bingo, 8 Septembre 2006
    #27
  8. Offline
    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
    DeScH, 8 Septembre 2006
    #28
  9. Offline
    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.
    Bingo, 8 Septembre 2006
    #29
  10. Offline
    DeScH AstaLaVista
    non, heureusement que j'ai modifié ca en local. et il n'y a pas moyen de faire quelque chose avec un cham int?
    DeScH, 8 Septembre 2006
    #30
  11. Offline
    Bingo Beer Addict
    Quel type de choses ?
    Bingo, 8 Septembre 2006
    #31
  12. Offline
    DeScH AstaLaVista
    Ben de récupérer les articles de la semaine :p
    DeScH, 8 Septembre 2006
    #32
  13. Offline
    Bingo Beer Addict
    Récupérer les articles de la semaine avec un champ int ?
    Il y a quoi dans ton champ int ?
    Bingo, 8 Septembre 2006
    #33
  14. Offline
    DeScH AstaLaVista
    1152365244 par exemple

    la requete c'est
    mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . $pseudo . "', '" . time() . "' , '" . $categorie . "' )");
    donc time()
    DeScH, 8 Septembre 2006
    #34
  15. Offline
    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 ?
    Bingo, 8 Septembre 2006
    #35
Statut de la discussion:
Fermée.