Page 1 sur 1

INTERVAL DAY dynamique

Posté : 12 mars 2011, 01:32
par Elie
Hello,

Dans ma base de données, j'ai ma date de départ ... (Aujourd'hui pourquoi pas)
Et j'ai le nombre de jour ...
Comment recuperer ma date d'arrivée ?

J'ai voulu le faire en PHP mais avec les changement d'heure d'été ou d'hiver c'est un peu casse couille.
Je voulais donc faire un INTERVAL DAY mais que le chiffre soit dynamique

WHERE DATE_ADD(`depart`, INTERVAL `jour` DAY)

Il y a t il une parade ?

Merci,

Elie

Re: INTERVAL DAY dynamique

Posté : 22 mars 2011, 21:44
par dunbar
Salut,

Comme ceci peut-être

Table exemple :
CREATE TABLE IF NOT EXISTS `test_date` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `DATE_TEST` date NOT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Contenu de la table `test_date`
--

INSERT INTO `test_date` (`ID`, `DATE_TEST`) VALUES
(1, '2011-03-22');
$Ajout_jour = 5;

$sql = "SELECT ADDDATE(date_test, INTERVAL $Ajout_jour DAY) AS resultat FROM test_date";
$req = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

$data = mysql_fetch_object($req);

echo $data->resultat;

Re: INTERVAL DAY dynamique

Posté : 23 mars 2011, 11:37
par Elie
Comme ca oui :)
Mais imagine que " 5 "est une information dans cette meme base de données !
CREATE TABLE IF NOT EXISTS `test_date` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `DATE_TEST` date NOT NULL,
 `nuits` int(2) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

Re: INTERVAL DAY dynamique

Posté : 23 mars 2011, 11:56
par dunbar
Salut,

Simplement comme ceci
"SELECT ADDDATE(date_test, INTERVAL nuits DAY) AS resultat FROM test_date";

Re: INTERVAL DAY dynamique

Posté : 23 mars 2011, 12:08
par Elie
J'avais essayé avant et ca n'avait pas marché :/
Je crois que je n'avais pas transformet mon timestamp en FROM_UNIXTIME

Résultat :
UNIX_TIMESTAMP(ADDDATE(FROM_UNIXTIME(`tbl_croisiere`.`depart`, '%Y-%m-%d %H.%i.%s'), INTERVAL `tbl_croisiere`.`nuits` DAY)) AS `arrivee`
Merci d'avoir relancer le sujet ca m'a obligé d'y reréfléchir !