cs_Akash
Messages postés4Date d'inscriptionmardi 25 mars 2003StatutMembreDernière intervention28 novembre 2003
-
27 nov. 2003 à 18:55
floflotz
Messages postés240Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 6 janvier 2006
-
28 nov. 2003 à 17:22
Salut à tous j'espère que vous pourrez m'aider. Voila le problème :
Pour mon script de calendrier evenementiel j'ai besoin d'afficher des évènements par périodicité (du temps au temps).
Pour cela j'utilise la date en timestamps et je fait une requete de ce type :
select * from sortie where debut ='$DateConvertie' and fin >='$DateConvertie'
Ou
- $DateConvertie est la date du jour sélectionné convertie en timestamp.
- debut est le debut de l'évement (ex: 1069887600)
- et fin la fin de l'évènement (ex: 1073689200)
Normalement sa devrait me prendre en compte tout les resultats comprit entre 1069887600 et 1073689200, non ?
class agenda
{
var $LeJour = '';
var $LeMois = '';
var $Annee = '';
var $PremierJour = '';
var $DernierJour = '';
var $Aujourdhui = '';
var $NombreJour = '';
var $Calendrier = '';
var $PremierJourSemaine = '';
var $TableauMois = array('Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Aout','Septembre','Octobre','Novembre','Decembre');
var $TableauMoisE = array('January','February','March','April','May','June','July','August','September','October','November','December');
# ----------------------- CONFIGURATION ----------------------------------------
var $Script = 'index.php'; //Chemin d'accès vers ACE agenda.
var $CouleurWeekEnd = 'whitesmoke'; //Couleur des cellules pour Samedi et Dimanche.
var $CouleurDuJour = 'pink'; //Couleur de la cellule pour la date du jour.
var $CouleurFerie = 'yellow'; //Couleur pour les jours féries (fonction non disponible)
# ------------------------------------------------------------------------------
function voirJour($jour='',$mois='',$annee=''){
if($jour!=''){
global $mid; //Identifiant de la connection.
//Conversion de la date en timestamp
$moisEnAnglais = $this->TableauMoisE[date('m',mktime(0,0,0,$mois,$jour,$annee))-1];
$DateConvertie = "$jour $moisEnAnglais $annee";
$DateConvertie = strtotime("$DateConvertie");
//On recherche les données dans la base de données.
/*
Oh toi qui regarde mon script, dis moi pourquoi sa fonctionne pas ??
Bon je pense que le problème viens de ma requete, mais je voie pas où !!!
*/$code "select * from sortie where debut'$DateConvertie' and fin >='$DateConvertie'";
$result = mysql_query($code,$mid);
//Affichage des résultats.
if(mysql_affected_rows()){
while($row = mysql_fetch_object($result)){
echo("$row->nom");
}
}
else echo("Rien aujourd'hui U_U!");
}
}
function voirCalendrier(){
echo("$this->Calendrier");
}
$agenda = new agenda($mois,$annee,$jour); //Initialisation de la class agenda.
$agenda->Calendrier(); //Création du calendrier.
$agenda->voirCalendrier(); //Affichage du calendrier.
$agenda->voirJour($jour,$mois,$annee);
floflotz
Messages postés240Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention 6 janvier 2006 28 nov. 2003 à 17:22
le timestamp généré avec strtotime() est un timestamp unix !
si dans ta table, tu as déclaré comme type mysql un type timestamp, ca ne marchera pas parce qu'ils n'ont pas le même format !
pour éviter ce problème, définit tes variables mysql de tes variables de type timestamp unix comme des bigint (je crois que c assez mais c'est à vérifier) ou au pire comme des varchar que tu convertiras ensuite en int.
j'espere que t'as capté ce que je voulais dire .