2009-08-05 6 views
0

$ repeat_times = mysql_real_escape_string ($ repeat_times);Mauvaise logique dans If Statement?

$result = mysql_query("SELECT `code`,`datetime` FROM `fc` ORDER by datetime desc LIMIT 25") or die(mysql_error()); 

$output .=""; 
$seconds = time() - strtotime($fetch_array["datetime"]); 

if($seconds < 60) 
    $interval = "$seconds seconds"; 
else 
if($seconds < 3600) 
    $interval = floor($seconds/60) . " minutes"; 
else 
    if($seconds < 86400) 
     $interval = floor($seconds/3600) . " hours"; 
    else 
     $interval = floor($seconds/86400) . " days"; 

while ($fetch_array = mysql_fetch_array($result)) { 

    $fetch_array["code"] = htmlentities($fetch_array["code"]); 
    $output .= "<li><a href=\"http://www.***.com/code=" . htmlspecialchars(urlencode($fetch_array["code"])) . "\" target=\"_blank\">" . htmlspecialchars($fetch_array["code"]) . "</a> (" . $interval . ") ago.</li>"; 

} 

$output .=""; 

return $output; 

Pourquoi ce janice retour (14461 jours) au lieu de janice

(il y a 15 minutes) Le tableau de la fonction datetime a le type DateTime dans ma table il est donc retourner une chaîne complète pour la date.

+3

pour l'amour de Dieu, commencez à utiliser des parenthèses s'il vous plaît ... ;-) –

Répondre

1

Je suppose que strtotime() renvoie false.

Considérant aujourd'hui est 14461 jours de l'époque unix.

Vous pouvez utiliser l'instruction SQL pour extraire UNIX_TIMESTAMP (datetime) comme horodatage et retirer ce calcul du code php.

Aussi - Vous calculez $interval avant de fecter un tableau. Essayez de faire toute cette partie de code dans une fonction qui prend un horodatage et retourne le « intervalle »

function get_interval($time) { 
    $diff = time() - $time; 
    // .... calculate interval here 
    return $interval 
} 
1

Le code de calcul de temps devrait aller à l'intérieur de la boucle while, puisque vous voulez calculer le temps sur un par enregistrement base (et cela fait référence à $ fetch_array, qui est seulement récupéré dans la boucle while)

+2

C'est pourquoi le codage avec E_NOTICE et E_STRICT aide! :) – gnarf