IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Récupération de dates sur un serveur => passe en String [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 27
    Par défaut Récupération de dates sur un serveur => passe en String
    Bonjour!

    Alors je suis en train de faire un script qui va utiliser la librairie GD pour créer des images, le tout à partir d'infos contenues dans une BDD.

    Mon problème porte sur les dates.

    J'ai stocké dans un array des valeurs que je veux pouvoir accéder en fonction de la date actuelle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dat = array("$last6" => 30, "$last5" => 90, "$last4" => 150, "$last3" => 210, "$last2" => 270, "$last1" => 330, ...);
    $last6, $last4 etc sont en fait des années: 2005, 2006, 2007 etc (seulement elles sont variables d'où le fait qu'elles sont stockées sous forme de string dans des variables).

    Je désire récupérer donc une date stockée dans ma BDD (en format Date) et en extraire juste l'année sous forme de string afin de pouvoir ensuite récupérer grâce à l'array, le numéro correspondant (et faire mes dessins).

    J'ai fait plusieurs tests mais non concluants, voilà ce que j'ai tenté:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
     		$dd= requete_joomla("SELECT ddebut FROM jos_projets WHERE idproj = '$nb'");
    		$deb=mysql_fetch_array($dd);
    		$debut=implode ($deb);
    		$tstamp= strtotime($debut);
    		$test= date (Y ,$tstamp);
    		echo "   je echo le $test   ";
    		echo " date réelle: $debut";
    Alors, $debut retourne deux fois la date cad: date réelle: 2008-01-012008-01-01

    $test me retourne 1970

    Voila, peut être que je me prend la tête, je pourrais en effet tout simplement stocker l'année de début et de fin sous forme de INT dans la BDD, mais si je veux faire un truc propre et complet, je pense qu'il faut quand même passer par les dates (et puis comme ça j'apprendrais quelque chose ^^)

    Merci d'avance pour votre aide!!!

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    Si tu veux stocker la date sous forme d'entier, stocke un timestamp.
    Le seul inconvénient est qu'ensuite tu ne pourras plus faire de requête avec des traitements spécifiques sur les dates. Tu pourras uniquement utiliser les opérateurs de comparaison < >, BETWEEN etc... mais pas les fonctions de date SQL.

    Aussi, le code que tu montres n'est pas correct.
    1. mysql_fetch_array retourne un tableau !
    2. implode attend deux paramètres, consultes la documentation
    3. La constante Y n'est pas définie, utilises une chaine de caractères ('Y')


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $dd = requete_joomla("SELECT ddebut FROM jos_projets WHERE idproj = '$nb'");
    $row = mysql_fetch_array($dd);
    $debut = $row['ddebut'];
    $timestamp = strtotime($debut);
    $year = date('Y', $timestamp);
     
    echo "$year : date réelle: $debut<br/>";

  3. #3
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2006
    Messages
    985
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2006
    Messages : 985
    Par défaut
    Citation Envoyé par magnus2229 Voir le message
    Je désire récupérer donc une date stockée dans ma BDD (en format Date) et en extraire juste l'année sous forme de string afin de pouvoir ensuite récupérer grâce à l'array, le numéro correspondant (et faire mes dessins).
    Si "date" est le nom de votre champ mysql et que ce champ soit de type date, tu recupère simple l'année ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT YEAR(date) as annee FROM jos_projets
    "annee" sera sous la forme dont tu veux, si j'ai bien compris...

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2010
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2010
    Messages : 27
    Par défaut
    Bon et bien c'est tout bon, j'ai utilisé la première façon de faire et ça marche nikel merci beaucoup!

    Concernant la seconde, j'ai pas réussi à faire quelque chose de l'objet qui contenais supposément l'année, merci quand même pour ton aide!


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 27/05/2010, 08h31
  2. [Dates] Date sur le serveur
    Par Tikenjahfakouli dans le forum Langage
    Réponses: 2
    Dernier message: 19/05/2008, 14h41
  3. [FTP] Récupération de fichier sur un serveur distant
    Par valouche dans le forum Langage
    Réponses: 15
    Dernier message: 06/03/2008, 10h30
  4. Récupération de date sur fichier
    Par Mytå_Qc dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/11/2007, 01h14
  5. Réponses: 5
    Dernier message: 03/02/2006, 13h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo