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. 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)
    1. 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. 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, 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. 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 {  ?>