Forum Clubic

[PHP/MySQL] Soustraction date du jour !

Bonjour, je cherche à soustraire à la date du jour une date dans une base mysql, et que le résultat s’affiche en jour, pour l’instant j’arrive à soustraire deux dates de la base :

echo round( (strtotime($data['date_bdd1']) - strtotime($data['date_bdd2']) ) / 86400 );

voilà le code plus général :

<?PHP

$db = mysql_connect('xxxxx1', 'xxxxx2', 'xxxxx3');
mysql_select_db('xxxxxx',$db);

$sql = 'SELECT * FROM xxxxx4 order by xxxxx5';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo "<table><td class='alex'>";
echo round( (strtotime($data['date_bdd1']) - strtotime($data['date_bdd2']) ) / 86400 );
echo "</td></table>";
}
mysql_close();
?>

Merci de votre aide :wink:

Bonjour, bienvenue sur les forums de Clubic :slight_smile:

Je te prierai de mettre le langage informatique dans le titre, tel que requis par la charte du forum programmation - pour une meilleure compréhension les uns des autres.

A lire :
http://www.clubic.com/forum/charte-du-foru…on-t306797.html

Pour éditer:
Suffit de cliquer sur ce bouton, dans ton message : http://www.clubic.com/forum/style_images/persoclubic/editer.gif

Merci et bon courage pour ton problème :jap:

je pense avancer avec ceci :

$nbrjour = 'SELECT *,TO_DAYS(CURRENT_DATE) - TO_DAYS(datebdd1) AS resultat FROM xxxxx4 ORDER BY xxxxx5';

echo "<table><td class='alex'>";
echo count($nbrjour['resultat']);
echo "</td></table>";

Suis je sur la bonne voix ??? :wink:

Non. Enfin, sur la bonne voie oui, mais sur la bonne voix ça veut rien dire.

Vire l’étoile dans ta requête elle sert à rien.

Et cherche du côté de DATE_SUBSTRACT en SQL.

Merci de ta réponse mais avec google et ‘DATE_SUBSTRACT’ il ne me sort qu’une seule réponse :neutre:

et sinon il n’y a pas possibilité en php :

$sql = 'SELECT * FROM xxxxx4 order by xxxxx5';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

$today = date();

while($data = mysql_fetch_array($req))
{
echo "<table><td class='alex'>";
echo $today - ($data['date_bdd2']);
echo "</td></table>";
}

Normal me suis planté :

SUBDATE

http://dev.mysql.com/doc/refman/5.0/en/dat…-functions.html

Ca avance enfin je pense :

$sql = 'SELECT * FROM xxxxx4 WHERE xxxxx5 < SUBDATE(NOW(),INTERVAL 30 DAY)';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_array($req))
{
echo "<table><td class='alex'> $req </td></table>";
}

Mais cela m’affiche : Resource id #14 !!!

Je ne vois pas d’ou cela vient

Il semble que j’ai trouvé de cette manière :

echo "<table><td class='alex'>";
$days = (strtotime(date("Y-m-d")) - strtotime($data['champ'])) / 86400;
print $days;
echo "</td></table>";

Mais comment mettre en rouge les résultats de plus de 30 jours ?

Merci

RESOLU

merci pour tout

:jap: