Cacher un lien sous php

mery -  
 Utilisateur anonyme -
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. ludo1325 Messages postés 175 Statut Membre 33
     
    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
  2. Utilisateur anonyme
     
    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
  3. mery
     
    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
    1. Utilisateur anonyme
       
      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
      1. mery > Utilisateur anonyme
         
        j'ai essayé votre code mais il m'affiche cet error

        Parse error: syntax error, unexpected T_ELSE
        0
  4. Utilisateur anonyme
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. mery
     
    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
    1. Utilisateur anonyme
       
      Hello, la } de la fin de ton if, met le juste avant ton else

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