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 :

Afficher une image si la date de l'enregistrement est superieure à x jours [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut Afficher une image si la date de l'enregistrement est superieure à x jours
    Bonjour à tous !

    J'affiche les données d'une BDD dans un tableau. J'ai un champs "Date d'entrée au SAV" qui est sous la forme 17/05/2011.

    J'aimerais qu'à côté de cette date dans le tableau, s'affiche une image lorsque la date est supérieure à 5 jours. Par exemple, si nous sommes le 18/05/2011, pas d'image, mais si nous sommes le 30/05/2011, alors on affiche l'image...

    Un gros merci d'avance !

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    dans ton SELECT rajoute un champs de comparaison de date
    http://dev.mysql.com/doc/refman/5.0/...functions.html

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Bonjour et merci d'avoir pris le temps de répondre :-)
    Dans mon cas, cela donnerait quoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    //requête SQL:
        $sql = "SELECT *
    	      FROM suivi_atelier
    	      ORDER BY id DESC LIMIT $limit_start, $pagination" ;
     
     
     
     
    	echo("<table border=\"0\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" id=\"product-table\">");
    	echo("<tr>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">ID</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">STATUT DOSSIER</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">DATE D'ENTRÉE AU SAV</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">NOM DU CLIENT</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">NUMERO DE VO</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">MARQUE/MODELE</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">IMMATRICULATION</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">MOTIF DU RETOUR</a></th>
    	<th class=\"table-header-repeat line-left\"><a href=\"\">OPTIONS</a></th>
    	</tr>");
     
    ...

  4. #4
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Bonjour,

    Voila ce qui ça pourrait donner en gros :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT [tes champs], DATEDIFF( CURRENT_DATE( ) , date ) AS nbjours FROM nom_de_ta_table
    Ensuite, lors de l'affichage du tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Si nbjours > 5
         AffichageImage

  5. #5
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Merci beaucoup !

    Malheureusement, étant novice en PHP, je ne parviens pas à adapter le code à mes besoins ...

  6. #6
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par Nesta92 Voir le message
    Merci beaucoup !

    Malheureusement, étant novice en PHP, je ne parviens pas à adapter le code à mes besoins ...
    Peux tu donner le code complet de ta page s'il te plait ?

  7. #7
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Merci infiniment ;-)
    Fichiers attachés Fichiers attachés

  8. #8
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Ou souhaiterais tu afficher ton image ?

  9. #9
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Idéalement, à côté de la "Date d'entrée au sav" <td>".$result->date_entree_sav."</td>

    Je souhaiterai que quand le dossier sav a été créé il y'a plus de 7 jours, cela affiche une image à côté de la date en gros

  10. #10
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Alors, c'est parti :

    Déjà tu dois modifier ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $sql = "SELECT *, DATEDIFF( CURRENT_DATE( ) , date_entree_sav) AS nbjours
    	  FROM suivi_atelier
    	  ORDER BY id DESC LIMIT $limit_start, $pagination" ;
    Ou nbjours représente le nombre de jours écoulées depuis l'entrée au SAV.

    Tu modifie ensuite l'affichage par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    	echo(
        "<tr>
    	<td>".$result->id."</td>
    	<td class=\"".$class."\">".$result->statut_dossier."</td>
    	<td>".$result->date_entree_sav." ");
     
    	if($result->nbjours > 5) 
    		echo "<img src='path/to/image' name='' alt=''>";
     
    	echo(
    	"</td><td>".$result->nom_client."</td>
    	<td>".$result->numero_vo."</td>
    	<td>".$result->marque_modele."</td>
    	<td>".$result->immatriculation."</td>
    	<td>".$result->motif_retour."</td>
    	<td>
    	<a href=\"details.php?id=".$result->id."\" title=\"Afficher tous les détails\" class=\"icon-5 info-tooltip\"></a>
    	<a href=\"modification-dossier.php?id=".$result->id."\" title=\"Modifier le dossier\" class=\"icon-1 info-tooltip\"></a>
    	<a href=\"#\" onClick=\"confirme('".$result->id."')\"  title=\"Supprimer le dossier\" class=\"icon-2 info-tooltip\"></a>
    	</td>
     
    	</tr>\n"
     
    	);
     
    	echo("</table>");
    Je pense que ça devrait fonctionner, même si l'affichage est brouillon. Dis moi si ça te convient, je regarderai après pour épurer tout ça.

  11. #11
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Merci énormément de prendre du temps pour moi ;-)

    ça ne semble pas fonctionner mais peut-être que c'est du au fait que mon champs date_entree_sav est de type VARCHAR(255) ?

  12. #12
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par Nesta92 Voir le message
    Merci énormément de prendre du temps pour moi ;-)

    ça ne semble pas fonctionner mais peut-être que c'est du au fait que mon champs date_entree_sav est de type VARCHAR(255) ?
    Han oui forcement . Pourquoi stocker une date en Varchar ? Il y a un type Date, autant l'utiliser non ? ^^

  13. #13
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Oui mais le problème c'est que je n'arrivais pas à l'afficher par la suite en format 17/05/2011 ...

  14. #14
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Quand je passe le champs en format Date, ça fonctionne bien :-)
    Par contre du coup j'ai un autre soucis ...

    Comment faire pour afficher ma date en format FR ? Car du coup ça m'affiche sous la forme 2011-05-17

    Et quand je veux enregistrer une date issue d'un datePicker, ça m'enregistre 0000-00-00 ...

  15. #15
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par Nesta92 Voir le message
    Oui mais le problème c'est que je n'arrivais pas à l'afficher par la suite en format 17/05/2011 ...
    A mon avis il est plus facile de stocker correctement ta date et ensuite de faire quelques modifs pour l'affichage, que de stocker en varchar de se casser la tête lors des requêtes.

    En plus, ce n'est pas gênant de l'afficher en 2011/05/17 si tu spécifie bien le format à l'utilisateur.

  16. #16
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Il faut regarder ce que renvoi le date picker, il n'est peut être pas au même format.

  17. #17
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Oui tu as raison concernant l'affichage de la date :-)

    Pour le DatePicker, j'ai ça comme code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="date_entree_sav" id="datepicker" value="<?php echo($result->date_entree_sav) ;?>">

  18. #18
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    C'est bon j'ai trouvé !
    Bon bah donc dernier et ultime soucis pour moi : comment afficher la date en format FR ?

  19. #19
    Membre averti Avatar de Nheo_
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 323
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par Nesta92 Voir le message
    C'est bon j'ai trouvé !
    Bon bah donc dernier et ultime soucis pour moi : comment afficher la date en format FR ?
    Peut-être avec strtotime.

  20. #20
    Nouveau membre du Club
    Inscrit en
    Avril 2007
    Messages
    87
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 87
    Points : 31
    Points
    31
    Par défaut
    Oui j'ai bien vu cette fonction mais impossible de l'appliquer ...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [VB.NET] afficher une image stockée dans une table
    Par matonfire dans le forum ASP.NET
    Réponses: 4
    Dernier message: 19/03/2004, 11h21
  2. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/02/2004, 10h51
  3. Charger et afficher une image jpg avec les mfc
    Par glop - pas glop dans le forum MFC
    Réponses: 3
    Dernier message: 11/02/2004, 18h59
  4. Réponses: 2
    Dernier message: 04/02/2004, 22h32
  5. Afficher une image sans passer par les textures
    Par Black_Daimond dans le forum DirectX
    Réponses: 3
    Dernier message: 09/05/2003, 19h13

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