Planning php gestion des dates

Résolu
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention   -  
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis en stage, et je désire faire un planning mensuel pour plusieurs salarié. J'ai fait le tableau en statique cela me parait plutôt bien. Simplement pour simplifié, et aussi augmenter la durée de vie de mon application je souhaiterais que les dates s'affectent à des jours automatiquement.

Par exemple si je choisis le moi de janvier 2022 je voudrai qu'il me donne les dates du 1er au 31 janviers (ça pas trop compliqué) mais en plus que dans la case d'accoter il me donne le bon jour correspondant.

Y a t il un moyen simple de faire cela ?
A voir également:

70 réponses

shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Je vous tiendrais donc au courant dès demain^^
0
Utilisateur anonyme
 
Pas de soucis tien au jus, et t'inquiète pas pour l'appli on t'aidera à avancer ;)
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Le soucis est que le tuto est basé en php 5 voir des versions encore plus avancé et que Free ne gère pas ces versions :/
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Mais si :) Tu peux forcé la mise à jour de php vers un php 5.2 il me semble !
Regarde sur google ya des tuto qui explique :)

EDIT : Et op : https://forums.commentcamarche.net/forum/affich-11603431-activer-php5-chez-free

Jérémy
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
en gros j'ai juste a crée un fichier texte avec l'extension .htaccess et marquer "php1" dedans ? pour activer php5 ? (et ce fichier je le mets à la base de mon serveur ???)

je testerai tout cela demain matin !
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Ouais voilà c'est ca :)
Un fichier nommé .htacces (comme si le nom était vide et que c'était juste une extension)
Et dedans une ligne
php 1

Attention à l'encodage quand même, le mec l'a précisé dans le post que je t'ai donné
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Après concertation avec mes profs, je ne peux pas utiliser php5 car il faut que je fasse avec les contraintes de mon hébergeur sans rien modifier^^

Donc y a t il un autre moyen ?
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Quoique mes prof délibèrent ^^ j'attend leurs réponse :)
0
Utilisateur anonyme
 
Re,

Mais au final c'est pas très grave un tuto en php 5, ne fais pas d'objet, les base du langage sont casi les mêmes.
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Pas d'objet ??? dans le tuto il se sert bien des objets
0
Utilisateur anonyme
 
Ah m****. Désolé je l'ai pas regardé...
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
donc du coup j'attend la réponse de mes prof j'espere qu'elle va vite arriver, je vous tiens au courant
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Bonne nouvelle en fait mes profs accepte je vais donc suivre le tuto ! je vous tiens au courant
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
De toute façon php 5 était la, ce n'était une contrainte de l'hébergeur ;-) On active juste ce qu'il ne met à défaut mais qui est disponible quand même :)
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Premier soucis, j'effectue le tutoriel et dès le début il me met cette erreur :


Parse error: syntax error, unexpected ',' in C:\Program Files\EasyPHP-DevServer-13.1VC9\data\localweb\scripts\Application\date.php on line 9

Mes fichiers sont :
Index :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Csc : Plannings</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<body>

<?php
require('date.php');
$date = new Date();
$dates = $date->getAll();
?>
<pre>
<?php print_r($dates); ?>
</pre>

</body>
</html>

date.php :
<?php
class Date{

function getAll(){

$r = array();
$date = strtotime('2011-04-19');
//ce que je veux => $r [ANNEE][MOIS][JOUR] = JOUR DE LA SEMAINE
$y = ('Y',$date);
$m = ('m',$date);
$d = ('d',$date);
$w = ('w',$date);
$r[$y][$m][$d] = $w;
return $r;

}
}
?>


Pourquoi me met-il que la "," est une erreur de syntaxe ?
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Personne ne sait :/ ?
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
C'est pas $y = date('Y', $date); par hasard ? :)

0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Han j'ai honte :/ trop de code tue le code ! Merci
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
C'est toujours des erreurs "bêtes" de toute manière passé un certain niveau ;-)
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Bon bah ça marche sur mon serveur local du moins le peu que j'ai tester pour le moment mais mauvaise nouvelle...
Il faut php5.3 pour utiliser la fonction dateTime() et même en créant un fichier .htaccess que je met à la racine de mon serveur avec la seule ligne "php 1" encodé en ANSI.

Du coup je vais essayer de poursuivre la méthode avec le début de méthode procédurale qu'il applique et voir si j'y arrive !
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Tu peux tout gérer avec des timestamp, tu n'as pas forcément de besoin de DateTime.
C'est certes un peu moins compréhensible de voir des timestamp partout, mais c'est un int donc c'est du basique.
Et puis avec un timestamp, il est facile de faire un echo date('d-m-Y', $timestamp) !
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
désolé jeremy.s je n'ai pas trop compris ce que tu as voulu dire avec les timestamp.

Je me suis donc pencher sur la version procédurale.

Voici mon index :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Csc : Plannings</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<body>

<?php
require('date.php');
$date = new Date();
$year = ('2011');
$dates = $date->getAll($year);
?>
<div class="periods">
<div class="year"><?php echo $year; ?></div>
<div class="months">
<ul>
<?php foreach ($month as $m): ?>
<li><?php echo $m; ?></li>
<?php endforeach; ?>
</ul>
</div>
</div>
<pre>
<?php print_r($dates); ?>
</pre>

</body>
</html>

et mon date.php

<?php
class Date{

var $days = array('Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'samedi', 'Dimanche');
var $month = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');

function getAll($year){

$r = array();

$date = strtotime($year.'-01-01');

while(date("Y",$date) <= $year){
//ce que je veux => $r [ANNEE][MOIS][JOUR] = JOUR DE LA SEMAINE
$y = date('Y', $date);
$m = date('n',$date);
$d = date('j',$date);
$w = str_replace("0","7",date('w',$date));
$r[$y][$m][$d] = $w;
$date = strtotime(date('Y-m-d',$date).' +1 DAY');
}

/*$date = new dateTime($year.'-01-01');
while($date->format('Y')<= $year){
//ce que je veux => $r [ANNEE][MOIS][JOUR] = JOUR DE LA SEMAINE
$y = $date->format('Y');
$m = $date->format('n');
$d = $date->format('j');
$w = str_replace("0","7",$date->format('w'));
$r[$y][$m][$d] = $w;
$date->add(new dateInterval('P1D'));
}*/
return $r;
}
}
?>

Mais il m'affiche cette erreure quand je veux afficher les mois (surement car il ne faut pas faire comme cela en procédural)

Notice: Undefined variable: month in C:\Program Files\EasyPHP-DevServer-13.1VC9\data\localweb\scripts\Application\indexplanning.php on line 23

Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP-DevServer-13.1VC9\data\localweb\scripts\Application\indexplanning.php on line 23

Comment faire ?
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Bah oui, ton $month sort de nul part !
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
oops pas mis le bon fichier :

index :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Csc : Plannings</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<body>

<?php
require('date.php');
$date = new Date();
$year = ('2011');
$dates = $date->getAll($year);
?>
<div class="periods">
<div class="year"><?php echo $year; ?></div>
<div class="months">
<ul>
<?php foreach ($date->months as $m): ?>
<li><?php echo $m; ?></li>
<?php endforeach; ?>
</ul>
</div>
</div>
<pre>
<?php print_r($dates); ?>
</pre>

</body>
</html>

erreur :
Notice: Undefined property: Date::$months in C:\Program Files\EasyPHP-DevServer-13.1VC9\data\localweb\scripts\Application\indexplanning.php on line 23

Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP-DevServer-13.1VC9\data\localweb\scripts\Application\indexplanning.php on line 23
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Dans date.php :
var $month = array('Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');

Dans ton code :
foreach ($date->months as $m)
Jérémy
0