Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/05/2011, 17h49   #1
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
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 !
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/05/2011, 17h55   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 103
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 103
Points : 8 466
Points : 8 466
dans ton SELECT rajoute un champs de comparaison de date
http://dev.mysql.com/doc/refman/5.0/...functions.html
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 09h21   #3
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
Bonjour et merci d'avoir pris le temps de répondre :-)
Dans mon cas, cela donnerait quoi ?

Code :
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>");
 
...
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 09h37   #4
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Bonjour,

Voila ce qui ça pourrait donner en gros :

Code :
1
2
 
SELECT [tes champs], DATEDIFF( CURRENT_DATE( ) , date ) AS nbjours FROM nom_de_ta_table
Ensuite, lors de l'affichage du tableau :

Code :
1
2
3
 
Si nbjours > 5
     AffichageImage
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 11h02   #5
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
Merci beaucoup !

Malheureusement, étant novice en PHP, je ne parviens pas à adapter le code à mes besoins ...
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h10   #6
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
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 ?
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h20   #7
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
Merci infiniment ;-)
Fichiers attachés
Type de fichier : txt code.txt (2,3 Ko, 4 affichages)
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h25   #8
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Ou souhaiterais tu afficher ton image ?
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h27   #9
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
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
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h41   #10
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Alors, c'est parti :

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

Code :
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 :
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.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/05/2011, 11h48   #11
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
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) ?
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h51   #12
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
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 ? ^^
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h54   #13
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
Oui mais le problème c'est que je n'arrivais pas à l'afficher par la suite en format 17/05/2011 ...
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h58   #14
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
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 ...
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 11h58   #15
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
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.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 12h00   #16
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
Il faut regarder ce que renvoi le date picker, il n'est peut être pas au même format.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 12h05   #17
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
Oui tu as raison concernant l'affichage de la date :-)

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

Code :
1
2
 
<input type="text" name="date_entree_sav" id="datepicker" value="<?php echo($result->date_entree_sav) ;?>">
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 12h10   #18
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
C'est bon j'ai trouvé !
Bon bah donc dernier et ultime soucis pour moi : comment afficher la date en format FR ?
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 14h03   #19
Membre éprouvé
 
Avatar de Nheo_
 
Homme
Étudiant
Inscription : avril 2011
Messages : 317
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : avril 2011
Messages : 317
Points : 405
Points : 405
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.
Nheo_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/05/2011, 14h10   #20
Invité régulier
 
Inscription : avril 2007
Messages : 78
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 78
Points : 8
Points : 8
Oui j'ai bien vu cette fonction mais impossible de l'appliquer ...
Nesta92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h39.


 
 
 
 
Partenaires

Hébergement Web