salut !
quel serait l'idée pour afficher les mois des données d'une table (chaque donnée comporte un timestamp)
bien sur, je voudrai afficher qu'une seule fois le mois si celui ci est dans plusieurs données...
merci ):
salut !
quel serait l'idée pour afficher les mois des données d'une table (chaque donnée comporte un timestamp)
bien sur, je voudrai afficher qu'une seule fois le mois si celui ci est dans plusieurs données...
merci ):
Faire une requête sur la table et afficher le mois en testant pour chaque donnée si c'est le même mois...
Ca te paraît flou comme explication? Ca l'est autant que ta question...![]()
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
Si tes dates sont bien au format date tu fait la requête suivante
"select distinct month(date) from TaTable";
bon, avec
ca marche bien comme je veux (affiche uniquement les titres differents)
Code : Sélectionner tout - Visualiser dans une fenêtre à part $mysql_requete="SELECT SQL_SMALL_RESULT DISTINCT titre FROM matable";
mais avec mon timestamp qui est au format bigint comment faire pour afficher uniquement des mois differents ??
Pourquoi tu as mis un timestamp au format bigint?
Là tu vas pas avoir le chois, déjà utilise un substr() ou un explode() pour récpérer le mois de ton enregistrement et ensuite, tu vas être obligé d'avoir une variable dans laquelle tu conserves le mois précédent et à laquelle tu compares systélatiquement le mois que tu récupères via ta requete.
Quand le mois change, tu met dans ta variable le dernier mois récupéré.
Les règles du forum
Cours et tutoriels php
Développements web (CSS, (X)HTML,javascript, etc...)
Cours et tutoriels MySQL
Tutoriels Ajax
Initiation à PHP-GTK1
Il n'est point de bonheur sans liberté, ni de liberté sans courage. Péricles
Bonjour,
la fonction date() en PHP te permet de recupérer ce que tu veux à partir d'un timestamp.
le timestamp tu le récupére de ta base bien evidement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part date("m",timestamp) //récupération du mois à partir d'un timestamp (int)
Et si je met mon timestamp au format date (bon, ok, c'est plus un timestamp mais bon) ?
bah ton traitement t'es pas obliger de le faire dans ta requete pk veut tu absolument procéder ainsi.
ton champ timestamp est de type bigint comme tu as dit, au moment de l'insertion d'une donnée ds ta base tu insere le timestamp (time()) ?
si oui, alors tu selection ton champ timestamp et comme je t'es dit, tu récupérere que le mois grace a la fonction date() !
yep mais avec ca j'aurais tous les mois, y compris ceux qui apparaissent plusieurs fois. A moins que je fasse un tableau qui se souviennent des mois deja passées et que je revienne tester dedans.. Mais ca semble lourd alors que ca peut etre possible avec la requete, non ?Envoyé par Fabouney
comment ca tu auras tout les mois, tu aura seulement les mois pour chaque enregistrement de la table que tu souhaite.
pour chaque enregistrement tu fait un date("m", timestamp) de ton champ ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 select timestamp from ta_table
donc je vois pas trop ce que tu veux dire là lol désolé .
ben imaginons que dans la table il y est
janvier
mars
aout
mars
mars
janvier
moi je veux juste janvier mars aout
alors qu'avec ta méthode il affiche tout non ?
Dans ce cas tu as juste à faire un distinct
Code : Sélectionner tout - Visualiser dans une fenêtre à part select distinct date("m",timestamp) from Tatable
Partager