Page 1 sur 1

différence entre 2 dates

Posté : 15 mars 2005, 11:03
par Invité
Bonjour,

Je voudrais savoir s'il y a moyen de faire la différence entre 2 dates.

J'ai 2 champs de type "date" (date1 et date2) dans ma base de données et j'aimerais savoir le nombre de jours qui séparent les 2 dates (date2>date1).

Merci de votre aide

Posté : 15 mars 2005, 11:04
par charabia
Tes dates dans ta base sont de quel type ?

Posté : 15 mars 2005, 11:07
par demipoulp

Posté : 15 mars 2005, 11:43
par Invité
SELECT arrival, departure, DATEDIFF(departure,arrival) difference, rno
FROM reservation WHERE rno = 130


qq'un peut m'expliquer un peu cette ligne...svp
comment on récupère le résultat de DETADIFF ? est-il enregistré dans difference ? difference est une variable ou un champ de la db ?

Merci encore

Posté : 15 mars 2005, 11:47
par flitox
Ce ne serait pas as difference? Ce qui permettrait de récupérer la variable difference.

Je dis ça mais je n'en suis absolument pas sûr ;)

Posté : 15 mars 2005, 12:06
par demipoulp
effectivement il manque un as :wink:

Posté : 15 mars 2005, 12:22
par Invité
excusez-moi d'insister mais voue pourriez m'expliquer plus clairement?

Merci.

Posté : 15 mars 2005, 12:26
par Invité
Voilà ce que je fais

$requete4 = "SELECT date_cloture, date_culture1, DATEDIFF(date_cloture,date_culture1) as delairealisation1 FROM $table3 WHERE n_ref='$n_ref' and mucl='$mucl'";

$result4 = mysql_query($requete4);

while ($ligne4=mysql_fetch_array($result4)) {
extract($ligne4);
echo "$delairealisation1";
}

die();

Posté : 15 mars 2005, 12:29
par demipoulp

Code : Tout sélectionner

SELECT DATEDIFF(date1,date2) AS difference FROM tatable WHERE condition
tu recupere ton $difference grace a :

$r=mysql_fetch_array($q)
$difference =$r['difference '];

Posté : 15 mars 2005, 12:48
par Invité
Excusez-moi je sais que je suis chiant mais ca marche pas..

voilà mon code modifié avec les derniers conseils

$requete4 = "SELECT DATEDIFF(date_cloture,date_culture1) AS delai_realisation1 FROM $table3 WHERE n_ref='$n_ref' and mucl='$mucl'";
$sql4 = mysql_query($requete4);

$tableau=mysql_fetch_array($requete4);
$difference = $tableau['delai_realisation1'];

echo "$difference";
die();


J'ai l'erreur suivante :

mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Posté : 15 mars 2005, 12:55
par flitox

Code : Tout sélectionner

$requete4 = "SELECT DATEDIFF(date_cloture,date_culture1) AS delai_realisation1 FROM $table3 WHERE n_ref='$n_ref' and mucl='$mucl'"; $sql4 = mysql_query($requete4); $tableau=mysql_fetch_array($sql4); $difference = $tableau['delai_realisation1']; echo "$difference"; die();
C'est plutôt ça ;)

J'ai corrigé ça $tableau=mysql_fetch_array($requete4); par ça $tableau=mysql_fetch_array($sql4);

Posté : 15 mars 2005, 13:00
par Invité
Faute ENORME :oops:

mais l'erreur est toujours la même :

mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Posté : 15 mars 2005, 14:43
par sadeq
Ce message veut dire que la requête contient une erreur de syntaxe.

Code : Tout sélectionner

Le message d'origine est : #1064 - You have an error in your SQL syntax.
En fait il s'agit de la fonction DATEDIFF qui n'est reconnue que par un MYSQL version 4.1.1 ou +

Posté : 15 mars 2005, 14:55
par Invité
Merci effectivement j'avais une version inférieure

Merci de votre AIDE