Problème DATEDIFF

cs_snakeyes Messages postés 6 Date d'inscription jeudi 6 mai 2004 Statut Membre Dernière intervention 20 octobre 2008 - 20 oct. 2007 à 07:55
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 - 22 janv. 2013 à 13:03
S'adapter improviser vaincre...

Bonjour à tous.
J'ai un problème dans une requete (en rouge). celà m'affiche toutes les lignes de ma table, alors que je veux seulement celles qui ont moins de 30 jours d'écart entre mon champ de table "dateinitiale1" et "lastrecyclage1".
Pouvez-vous m'aider car je suis débutant et est du mal à comprendre toutes les suptilités de ce language. (travail avec  PhpMyadmin 2.6.1 et php 4.3.10)

<?php
$host= "localhost";
$user="root";
$pass="";
$db="formationpersonnel07";
$table="personnelsol";
$Datedebut = "dateinitiale1";
$Datefin = "lastrecyclage1";

//$connexion = mysql_connect($host,$login,$pass);
//$db = mysql_select_db($db,$connexion);

// connection à la DB
mysql_connect($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$req = "SELECT nom,prenom,societe,lastrecyclage1 FROM $table
WHERE DateDiff($Datedebut,$Datefin) < 30";
$result = mysql_query($req);

echo '
';
echo '   
        ----

            Nom
|
            Prenom
|
            employé par
|
            dernier recyclage fait le
|
        '
;

while ($data = mysql_fetch_array($result))
{
    echo \"
    ----

            ".$data['nom'].",
            ".$data['prenom'].",
            ".$data['societe'].",
            ".$data['lastrecyclage1'].",
            </center>
    \"
;           
}
echo "
";
echo '
';

//mysql_free_result($result);
mysql_close();
?>

2 réponses

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
21 oct. 2007 à 23:02
salut

regarde http://dev.mysql.com/doc/refman/5.0/fr/date-and-time-functions.html
tu auras peut etre une reponse.
0
cs_Malkuth Messages postés 268 Date d'inscription samedi 22 février 2003 Statut Membre Dernière intervention 24 avril 2013 4
22 janv. 2013 à 13:03
SELECT nom,prenom,societe,lastrecyclage1 FROM $table
WHERE DateDiff($Datefin,$Datedebut) BETWEEN -30 AND 30


ou bien :

SELECT nom,prenom,societe,lastrecyclage1 FROM $table
WHERE (TO_DAYS($Datefin) - TO_DAYS($Datedebut)) BETWEEN -30 AND 30
0
Rejoignez-nous