comparaison de date

Discussion dans 'Web, design' créé par Iced[E]arth, 22 Février 2005.

Statut de la discussion:
Fermée.
  1. Offline
    Iced[E]arth Touriste
    probleme apres probleme désolé :/

    Code:
    $datenew = date("d-m-Y");
    $dateold = date( 'd-m-Y', time()-3600*24*15 ); 
    $news==$_POST[news];
    $texte = addslashes($news);
    $sql = "INSERT INTO news(news, date) VALUES('$texte', '$datenew')";
       // on insère les informations du formulaire dans la table
        mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    echo "<DIV ALIGN=CENTER><span class='Style2'><BR>";
    echo "La news a été postée.";
    echo "</span>";
    while ($myrow = mysql_fetch_array ($result)){
    if ($dateold > $myrow[date]){
    $sql1 = "DELETE FROM news WHERE date=$myrow[date]";
    mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error());
    echo 'la news "$myrow[news]" a étée effacée';
    }} 
    alors en fait je voudrais que si la date est dépassée de 15 jours il éfface la news dans la base de donnée et la ca le fait pas
    a mon avis c un probleme sur la comparaison des dates :/
    Iced[E]arth, 22 Février 2005
    #1
  2. Offline
    zoheir cvm.mangaleet()
    $myrow["date"] ?

    avant que tu postes la prochaine fois, débug ton code, affiche toutes les variables afin de voir si elles sont 'correctes', comme cela tu ciblera mieux le problème
    zoheir, 22 Février 2005
    #2
  3. Offline
    Iced[E]arth Touriste
    elle sont correcte j'ai tout vérifié :)
    et $myrow[date] c'est la date de la news dans la base de donnée exemple
    12-02-2005
    Iced[E]arth, 22 Février 2005
    #3
  4. Offline
    zoheir cvm.mangaleet()
    $myrow["date"] avec ou san guillements ? je sais plus du tout

    pas possible sinon, tu es sur que toutes tes variables sont ok ?
    fais un echo dans ta condition aussi pour voir
    vérifie aussi que ta requete sql ne renvoit pas d'erreur
    zoheir, 22 Février 2005
    #4
  5. Offline
    Iced[E]arth Touriste
    sans les "
    j'ai fais des echo partout et tout est correcte :)

    donc c'est pas ca le probleme :)

    mais par contre j'ai stocké mes date dans ma base de donnée comme varchar et je pense que le probleme est la :)
    Iced[E]arth, 22 Février 2005
    #5
  6. Offline
    Tigrou Touriste
    Bon alors tu veux voir si la date est depassée de 15 jours
    C est pas tres compliqué :


    Code:
    $sql = "select * from table where ...";
    	$resultats = mysql_query ($sql);
    	while ($ligne = mysql_fetch_row($resultats)) {
    		$d1 = $ligne[numero de champs date];
    	}
    	list($annee,$mois,$jour) = explode("-",$d1);
    	$timestamp = mktime(0,0,0,$mois,$jour,$annee);
    	$d2 = time();
    	$diff = $d2-$timestamp;
    	$ecart_jours = floor($diff/86400);
    	$latency = false; 
    	if ( $ecart_jours>=15 ) {
    		$latency = true;
    	}
    
    Voila si ton ecart de jours est superieur ou egal a 15 jours le booleen $latency passe en true (avant il etait false)

    Maintenant a toi d adapter ca a ta convenance :wink:
    Tigrou, 22 Février 2005
    #6
Statut de la discussion:
Fermée.