Cacher un lien sous php

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 } ?>

5 réponses

  1. 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
    1. Hello, la } de la fin de ton if, met le juste avant ton else

      echo "CET ETA EST DEJA SYNCHRONISEE " ; ?>
      <?php }else {  ?>
      
  2. 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'));
    
    1. mais le type de $row5['Date_Vente'] dans la base de donnée et datetime
      c'est pour ca j 'ai pas met strtotime
      1. 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 !
      2. @Utilisateur anonymej'ai essayé votre code mais il m'affiche cet error

        Parse error: syntax error, unexpected T_ELSE
    2. 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 } ?>
      
      1. 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)