comparaison de date

Statut
N'est pas ouverte pour d'autres réponses.

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 :/
 

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
 
1er
OP
I

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
 

zoheir

cvm.mangaleet()
Iced[E a dit:
arth]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
$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
 
1er
OP
I

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 :)
 

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:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut