Petit soucis sur PHP/JS

Résolu
oliopur Messages postés 11 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 24 mars 2012 - 4 avril 2010 à 14:27
espoir1705 Messages postés 2 Date d'inscription dimanche 27 juin 2010 Statut Membre Dernière intervention 19 juillet 2010 - 19 juil. 2010 à 22:35
Voici les p'tit problemes :
Sur une base de donnée j'ai un champ qui contient la date et l'heure de suppression future d'un enregistrement sous la forme "2010-03-28 19:30:45"
Je souhaite effectuer un calcul entre cette date/heure et la date/heure actuelle.
Problème 1 :
Dans un premier temps, je voudrais extraire l'année, mois, jour et heure pour affichage. Et là il y a problème. en effet, les lignes ci-dessous
<?php
echo($date_added =  tep_get_products_special_price_date($product_info['products_id']));?>
<?php
echo($yaa = date('Y', $date_added));?>
<?php
echo($yam = date('m', $date_added));?>
<?php
echo($yaj = date('d', $date_added));?>
<?php
echo($yatime =  date('H:i:s', $date_added));?>

sachant que tep_get_products_special_price_date($product_info['products_id'])) est une fonction qui extrait la date d'un produit N° products_id
produisent :

2010-03-28 19:30:45
1969
12
31
19:33:30

je souhaite en plus ajouter 30 jours à cette date avant extraction de sorte que la date extraite devienne 2010-04-29

Problème 2 :
Je souhaite inclure ces valeurs ($yaa, $yam, $yaj et $yatime) dans un petit javascript ressemblant à celà :
<?php ....
if (($new_price  = tep_get_products_special_price($product_info['products_id'])))  
// test de la validité de la promo
{
?>
<script language="javascript">
datedujour = new Date();
hdj=datedujour.getHours();
mdj=datedujour.getMinutes();
sdj=datedujour.getSeconds();
date_even new Date(2010, 3, 25, hdj, mdj, sdj); //janv0 > decemb =11
date1=datedujour.getTime();
date2=date_even.getTime();
nbrej= date2-date1;
nbrej= Math.round((Math.round(nbrej)/1000)/60/60/24);
document.write(" Il reste "+nbrej+" jours avant la fin de la vente."+test+"  ");
</script>

<?php
}
//*********** FIN Compte à rebours *************

?> 

où je pourrais utiliser les valeurs extraites précédament soit $yaa, $yam, $yaj et $yatime et ajouter 30 jours pour remplacer les valeurs fixes qui sont 2010, 3, 25.
J'ai pensé à :
annee_fin  = ;
mois_fin = ;
jour_fin = ;   
heure_fin = ; 


ou un truc du genre. Une petite idée sur la façon de faire ? car moi je n'y arrive pas !!!
Là il me faut un bon !!!
Merci
Philippe

3 réponses

oliopur Messages postés 11 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 24 mars 2012
5 avril 2010 à 13:15
Vous fatiguez pas... j'ai trouvé.
en fait j'avais oublié de mettre
setTimeout("disp_delai(oannee,omois,ojour,oheure,omin)",1000);
merci quand meme
3
oliopur Messages postés 11 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 24 mars 2012
5 avril 2010 à 12:31
J'ai résolu une partie de mes problèmes,
pourtant, il m'en reste un qui n'est pas résolu et qui est certainement tout simple

En effet, je cherche à passer des données numériques de PHP à Javascript vers une function :

<SCRIPT LANGUAGE="JavaScript">
function disp_delai(oannee,omois,ojour,oheure,omin){
document.forms[0].elements[0].value=delai(oannee,omois,ojour,oheure,omin);
setTimeout("disp_delai()",1000);
} ...

l'appel se fait du PHP avec :
disp_delai(2010,5,1,0,0)

le résultat est :
NaN jours, NaN heures, NaN minutes et NaN secondes

au lieu d'un truc du genre :
25 jours, 11 heures, 39 minutes et 0 secondes
Ce que je ne comprends pas c'est que je passe des entiers et il me sort NaN (Not a Number)
Alors que quand je mets :
function disp_delai(){
document.forms[0].elements[0].value=delai (2010,5,1,0,0);
setTimeout("disp_delai()",1000);
}

tout est ok
I need help
0
espoir1705 Messages postés 2 Date d'inscription dimanche 27 juin 2010 Statut Membre Dernière intervention 19 juillet 2010
19 juil. 2010 à 22:35
j'ai besoin d'un script PHP pour l'envoie d'un mail, + une piece à jointe,
merci d'avance pour votre aide.
0
Rejoignez-nous