Cacher un lien sous php

Fermé
mery - Modifié par mery le 23/06/2015 à 15:45
 Utilisateur anonyme - 23 juin 2015 à 17:11
bonjour
je veux convertir une chaîne de caractère a une date pour faire une condition sur l'affichage
il rentre toujours a la 2eme condition (afficher le lien)
merci bien de m'aider
voila la partie du code concerné

<?php if( $row5['Date_Vente'] < strtotime('15/06/2015')){
echo "CET ETA EST DEJA SYNCHRONISEE " ;
} else { ?>
<td><a href="ETA_retransfert.php?VAR=<?php echo $E; ?>"><img src="medias/synch.png"></a></td>
<?php } ?>
A voir également:

5 réponses

ludo1325 Messages postés 149 Date d'inscription samedi 27 juin 2009 Statut Membre Dernière intervention 23 juin 2015 33
23 juin 2015 à 15:53
Salut,

Tu ne peux pas testé si une chaine de caractère est inférieur à une chaine de caractères.

Tu peux si tu veux faire un != pour testé si elles sont égales ou non.

Sinon si tu veux vraiment que la date sois inférieur à celle actuel tu as deux solution :

1 - Split les chaine
Tu fais une fonction qui split les deux dates, enlève les / et teste si une est inférieur à l'autre

(Voir les fonctions php : implode / explode)

2 - Convertir les date en timestamp
Tu convertis tes deux dates en timestamp, et test si le nombre de secondes écoulées d'une de tes dates est inférieur à l'autre

(Voir les fonctions sur les timestamp et les dates)
0
Utilisateur anonyme
23 juin 2015 à 15:56
Hello,

Tu convertis ton Date_Vente en timestamp, mais tu la compare à une chaîne de caractère.

Pour php ça donne
if(1435067703<'15/06/2015')
du coup il comprends pas trop comment comparer les deux.

Il faut donc que tu transforme aussi ton '15/06/2015' en timestamp avec la même fonction strtotime()

<?php  if(strtotime($row5['Date_Vente'])<strtotime("15/06/2015")){ 
echo "CET ETA EST DEJA SYNCHRONISEE " ; } ?>
<?php  else {  ?>
<td><a href="ETA_retransfert.php?VAR=<?php echo $E; ?>"><img src="medias/synch.png"></a></td>
<?php } ?>
0
mais le type de $row5['Date_Vente'] dans la base de donnée et datetime
c'est pour ca j 'ai pas met strtotime
0
Utilisateur anonyme
23 juin 2015 à 16:09
Oui, mais quand tu récupères ta données dans ton script php c'est une chaîne de caractère, tu as donc besoin de faire la conversion !
0
mery > Utilisateur anonyme
23 juin 2015 à 16:14
j'ai essayé votre code mais il m'affiche cet error

Parse error: syntax error, unexpected T_ELSE
0
Utilisateur anonyme
23 juin 2015 à 16:24
Hello, j'ai fait des tests de mon côté

ta date 15/06/2015 doit être avec des - > 15-06-2015

Soit tu le fais à la main, ou si c'est une variable tu peux automatiser cela :
strtotime(str_replace('/','-','15/06/2015'));
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
j'ai vérifié le champ date vente sur la base est sur cet forme
2015-03-04 00:00:00.000 c'est pour j'ai met
if(strtotime($row5['Date_Vente'])< strtotime("2015-06-15 00:00:00.000")){ 

mais tjr me donne meme errot au niveau du else
0
Utilisateur anonyme
23 juin 2015 à 17:11
Hello, la } de la fin de ton if, met le juste avant ton else

echo "CET ETA EST DEJA SYNCHRONISEE " ; ?>
<?php }else {  ?>
0