If Elseif

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 sept. 2013, 01:15

Qu'elle version de php as tu ?
Si clone donne une erreur c'est que $p14days n'est pas un objet :/

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 687 Messages

29 sept. 2013, 01:22

Version 5.3
Quand tu dis n'est pas un objet ça veut dire...?

Merci beaucoup pour tes explications ;-)

Mammouth du PHP | 571 Messages

29 sept. 2013, 13:43

et pourtant createFromFormat('d-M-Y', $date) est de type DateTime(donc un object) alors pourquoi le clonage échoue?

Pour ne pas se focaliser sur ce problème, il faut carrément créer un objet DateTime sur lequel on peut cloner l'instance:

<?php

$today = new DateTime();

while ($rech_ent = mysql_fetch_array($result)) {
    // Dépend du format dans ta base, tu peux le forcer avec la fonction mysql date_format
    $p14days = new DateTime($rech_ent['client_appele_le']);
    $p21d = clone $p14days;
    $p14days->add(new DateInterval('P14D'));
    $p21d->add(new DateInterval('P21D'));

    if ($today > $p21days) {
        echo "<tr><td class='fond'><img src='images/statut_non.png'></td>";
    } else if ($today > $p14days) {
        echo "<tr><td class='fond'><img src='images/statut_peut_etre.png'></td>";
    } else {
        echo "<tr><td class='fond'><img src='images/statut_oui.png'></td>";
    }
}


Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

29 sept. 2013, 16:22

Attention cela ne fonctionne que si l'on est sur du format :)

Et la méthode createfromformat retourne un datetime ou false en cas d'erreur ce qui doit être cas car je pense que loin format n'est pas bon par rapport ce l'on récupère de la base.

@+
Il en faut peu pour être heureux ......

Mammouth du PHP | 2278 Messages

29 sept. 2013, 16:57

Mais je ne peux pas y résister:
Ami, entends-tu le vol noir des objets dans ton code ?
Ami, entends-tu les cris sourds du elsif qu'on enchaîne ?
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 687 Messages

29 sept. 2013, 17:23

Mes dates sont au format DATETIME dans ma base.
Donc enregistre au format 0000-00-00 00:00

Merci beaucoup