différence entre 2 dates

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 11:03

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

Avatar du membre
ViPHP
ViPHP | 3008 Messages

15 mars 2005, 11:04

Tes dates dans ta base sont de quel type ?

Eléphant du PHP | 200 Messages

15 mars 2005, 11:07

Univers divided by 0 - cucumber error - reboot

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 11:43

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

Mammouth du PHP | 859 Messages

15 mars 2005, 11:47

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

Eléphant du PHP | 200 Messages

15 mars 2005, 12:06

effectivement il manque un as :wink:
Univers divided by 0 - cucumber error - reboot

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 12:22

excusez-moi d'insister mais voue pourriez m'expliquer plus clairement?

Merci.

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 12:26

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();

Eléphant du PHP | 200 Messages

15 mars 2005, 12:29

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 '];
Univers divided by 0 - cucumber error - reboot

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 12:48

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

Mammouth du PHP | 859 Messages

15 mars 2005, 12:55

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

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 13:00

Faute ENORME :oops:

mais l'erreur est toujours la même :

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

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

15 mars 2005, 14:43

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 +
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Invité
Invité n'ayant pas de compte PHPfrance

15 mars 2005, 14:55

Merci effectivement j'avais une version inférieure

Merci de votre AIDE