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

jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Faut bien choisir ces noms de variable ;-)
Je conseillerais même $tabDates c'est encore plus précis et moins embrouillant je trouve :)
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai réussi à faire le calendrier :) il donne a peux près ce que je souhaite (juste du Css à modifier :)) Maintenant j'ai un autre soucis car il utilise la méthode PDO pour aller cherche des informations dans sa base de données et que je ne peux pas utiliser le PDO. Je ne sais pas comment traduire ce PDO en procédurale :

function getEvents($year){
global $DB;
$req = $DB->query('SELECT id,title,date FROM events WHERE YEAR(date)='.$year);
$r = array();
/**
* Ce que je veux $r[TIMESTAMP][id] = title
*/
while($d = $req->fetch(PDO::FETCH_OBJ)){
$r[strtotime($d->date)][$d->id] = $d->title;
}
return $r;
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
En gros c'est bon la planning est terminée mais maintenant je n'arrive pas à afficher des chose contenu dans ma base de donnée en passant sur une date comme il le fait dans le tutoriel car lui utilise le PDO :/

Sachant que lui pour se connecter à la base il utilise :
<?php
try{
$DB = new PDO('mysql:host=localhost;dbname=tuto','root','',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8'));
}
catch(PDOException $e){
echo 'Base de donnée en vacance';
exit();
}
?>

et que pour afficher il utilise :
function getEvents($year){
global $base;
$sql = "SELECT id,libelle,date,heuredebut,heurefin FROM planning WHERE YEAR(date)='.$year)";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$r=mysql_query($sql);
print_r($r);
/**
* Ce que je veux $r[TIMESTAMP][id] = title
*/
while($d=mysql_fetch_array($r)){
print_r($r);
$r[strtotime($d->date)][$d->id] = $d->libelle;
}
return $r;
}
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Il faut que tu utilises mysql_connect à la place de PDO ;-)
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  
 
jeremy \0/ mon sauveur :)
Oui j'ai essayer avec un mysql_connect. Mais je galere vraiment pour l'affichage :/
Voilà le code que j'ai essayé :

function getEvents($year){
// connexion à la base
$base = mysql_connect ("localhost", "root", "") or die('Erreur de connexion '.mysql_error());

// sélection de la base
mysql_select_db('csc_apli',$base) or die('Erreur de selection '.mysql_error());

$sql = sprintf('SELECT * FROM planning WHERE YEAR(date) = %04d;', $year);

$r=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());


/**
* Ce que je veux $r[TIMESTAMP][id] = title
*/
while($d=mysql_fetch_object($r)){
$r=array();
$r[strtotime($d->date)][$d->id] = $d->libelle;
print_r($d);
}
return $r;
}

Le soucis est qu'il m'affiche bien mon libelle, mais il m'affiche aussi cette erreur :
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\scripts\Application\date.php on line 22
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Il faut que id, date et libelle soit des champs de ta table, essaye avec un select id, date, libelle et non un select *
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
J'ai reussi à résoudre mon problème avec le code suivant :
function getEvents($year){
// connexion à la base
$base = mysql_connect ("localhost", "root", "") or die('Erreur de connexion '.mysql_error());

// sélection de la base
mysql_select_db('csc_apli',$base) or die('Erreur de selection '.mysql_error());

$sql = sprintf('SELECT * FROM planning WHERE YEAR(date) = %04d;', $year);

$res=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

/**
* Ce que je veux $r[TIMESTAMP][id] = title
*/
while($d=mysql_fetch_object($res)){
$r=array();
$r[strtotime($d->date)][$d->id] = $d->libelle;
//print_r($d);
}
return $r;
}

Du coup maintenant je ne comprend pas comment faire pour afficher les horaires de debut (heuredebut) et de fin (heurefin) en plus du libelle :/

Je pense que ce sera ma dernière erreur, on est presque au bout encore un grand merci pour tout le temps que tu as pris pour moi !
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Tu rajoutes les champs que tu souhaites dans ta bdd, et tu les affiches avec le libellé :)
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
oui j'ai fait :
$r[strtotime($d->date)][$d->id] = $d->libelle." ".$d->heuredebut." ".$d->heurefin;
et cela a marcher merci beaucoup le sujet est enfin résolu (j'espere juste que le code que j'ai fait marchera chez free :/)
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Tu as des erreurs ?
0
shishi1906 Messages postés 93 Date d'inscription   Statut Membre Dernière intervention  
 
Je n'ai rien dit en fait cela fonctionne parfaitement j'avais juste oublier de mettre des valeurs dans ma base Free. Bon ben merci beaucoup sujet entièrement résolu.

A plus tard peux-etre (il se peut que j'ai d'autres erreures pour un autre problème)
Et merci encore ton aide m'a été précieuse
0
jeremy.s Messages postés 1226 Date d'inscription   Statut Membre Dernière intervention   79
 
Derien :)
0