Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2036 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  duree et temps

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

duree et temps

n°650322
fcb_baltha​sar
Posté le 20-02-2004 à 23:10:17  profilanswer
 

Bonsoir tout le monde
 
Je suis entrain de faire un site, enfin plutôt un jeu, dont le but et d'acheter un pot, tu terreau etc... et de faire pousser des plantes, la personne dispose d'une somme d'argent limité auquel elle doit bien dépenser pour l'achat du matériel et des plantes.
 
ca c'est déjà fait, la plante doit pousser, quand elle a  
planter les graines, seulement voici le probleme :  
 
La personne clique sur un lien pour planter, c'est automatique, une date s'enregistre dans la table de l'utilisateur, ensuite, selon la temperature, l'éclairage, l'eau, et le terreau (dose de tout ca), la plante pousse plus vite, mais surtout, j'aimerai que la date s'affiche pour savoir  depuis combien de temps elles ont étaient plantés et de combien de centimétres elles ont poussées, et ca je ne voit pas du tout comment faire
 
Donc si des personnes peuvent m'aider pour faire ceci, je leurs seraient très reconnaissant !
 
Merci


Message édité par fcb_balthasar le 20-02-2004 à 23:12:06
mood
Publicité
Posté le 20-02-2004 à 23:10:17  profilanswer
 

n°650331
skylight
Made in France.
Posté le 20-02-2004 à 23:15:50  profilanswer
 

depuis combien de temps = date d'aujourd'hui - date de plantation :heink:

n°650334
skylight
Made in France.
Posté le 20-02-2004 à 23:16:32  profilanswer
 

Et sinon c'est quoi comme genre de plantes ? :D

n°650339
fcb_baltha​sar
Posté le 20-02-2004 à 23:20:11  profilanswer
 

pour les plantes, sincérement c'est des plantes de cannabis :D
 
Sinon, pour la durée  je suis d'accord, mais pour les centimetres je fait comment ? :D car c'est ca que je n'arrive pas a coordonnée :/
 
il faut que je le fasse en fonction de la date de plantation, mais je ne voit pas du tout comment faire, ni les scripts et fonctions a utiliser...
et en même temps, les coordonner avec la temperature etc... (mais ca encore c pas très grave pour l'instant)

n°650345
skylight
Made in France.
Posté le 20-02-2004 à 23:23:54  profilanswer
 

fcb_balthasar a écrit :

pour les plantes, sincérement c'est des plantes de cannabis :D
 

Comment je m'en serait trop pas douté [:heink]

n°650346
skylight
Made in France.
Posté le 20-02-2004 à 23:24:19  profilanswer
 

fcb_balthasar a écrit :

pour les plantes, sincérement c'est des plantes de cannabis :D
 
Sinon, pour la durée  je suis d'accord, mais pour les centimetres je fait comment ? :D car c'est ca que je n'arrive pas a coordonnée :/
 
il faut que je le fasse en fonction de la date de plantation, mais je ne voit pas du tout comment faire, ni les scripts et fonctions a utiliser...
et en même temps, les coordonner avec la temperature etc... (mais ca encore c pas très grave pour l'instant)

Ben pour les centimetres, a toi de faire ton algo en fonction des parametres :heink:

n°650352
fcb_baltha​sar
Posté le 20-02-2004 à 23:27:43  profilanswer
 

skylight a écrit :

Ben pour les centimetres, a toi de faire ton algo en fonction des parametres :heink:

c'est bien ce que je douté, il n'y aurai pas un site qui pourrait expliquer tout ca en détails ? car je ne voit pas du tout comment faire, j'ai chercher pendant des heures et je n'ai pas put trouver, le temps et durée n'est pas mon fort, je n'arrive jamais a controler ca :/

n°650356
skylight
Made in France.
Posté le 20-02-2004 à 23:30:01  profilanswer
 

Je suppose que t'as une base de données...
 
Ben a toi de faire une table avec pour chaque ligne, la date, temperature, eclairage, eau, et taille de la date précedente..
tous tes parametres, tu peux les generer avec un random (a configurer aux ognions comme tu veux) et puis tu genere une grandeur assez petite grace a tes parametres, que tu rajoute a la taille precedente ..
 
apres, libre a toi

n°650362
fcb_baltha​sar
Posté le 20-02-2004 à 23:38:02  profilanswer
 

skylight a écrit :

Je suppose que t'as une base de données...
 
Ben a toi de faire une table avec pour chaque ligne, la date, temperature, eclairage, eau, et taille de la date précedente..
tous tes parametres, tu peux les generer avec un random (a configurer aux ognions comme tu veux) et puis tu genere une grandeur assez petite grace a tes parametres, que tu rajoute a la taille precedente ..
 
apres, libre a toi

une seule table avec plusieurs champs ou plusieurs tables ?
 
car pour l'instant, j'ai fait une table user, avec pseudo, passe, temperature, eclairage, date de plantation, dose d'eau, dose de terreau, donc ensuite, il suffit que je fasse pour que quand la personne rentre sur la page afin de vérifier la taille de la plante, ca modifie les centimetres en fontion de la date de plantation, pour l'instant, je pense que c'est bon, mais a toi de me confirmer si c'est une bonne facon, ou de faire comme tu me le conseille

n°650367
skylight
Made in France.
Posté le 20-02-2004 à 23:46:05  profilanswer
 

tes parametres sont donc fixes ? (cad eclairage, eau, terreau fixe pour toute la vie d'une plante)
ben oui, une seule table avec date et taille ...

mood
Publicité
Posté le 20-02-2004 à 23:46:05  profilanswer
 

n°650372
fcb_baltha​sar
Posté le 20-02-2004 à 23:55:16  profilanswer
 

skylight a écrit :

tes parametres sont donc fixes ? (cad eclairage, eau, terreau fixe pour toute la vie d'une plante)
ben oui, une seule table avec date et taille ...

fixe, si tu veut dire :  
 
enfin de compte, il y a 6 période : Germination, Croissance, végétative, Floraison, Maturation, Séchage
 
dont 5 sont importante est inclus la lumiére, l'eau etc...
pour les 5, l'eau, le terreau, la lumiére etc... doivent être de facon différente, ca veut dire que par exemple pour la maturation, la lumiére est moins important que pour la période de végétation, donc elle doit changer, ce que l'utilisateur doit faire si il ne veut pas voir ca plante qui pousse moins vite voir mourir définitivement et donc ne sont pas fixe du sens ou tout ca doit changer...
 
mais bon dans l'autre sens elle le restent car elles sont traités dans la même table :/
 
enfin si c'est ca que tu veut savoir :/


Message édité par fcb_balthasar le 20-02-2004 à 23:55:34
n°650374
skylight
Made in France.
Posté le 20-02-2004 à 23:56:14  profilanswer
 

et ben tu fais comme je t'ai dit au debut ..

n°650378
fcb_baltha​sar
Posté le 21-02-2004 à 00:07:02  profilanswer
 

skylight a écrit :

et ben tu fais comme je t'ai dit au debut ..

ok je vais essayer ca, merci :jap:

n°650579
fcb_baltha​sar
Posté le 21-02-2004 à 13:28:54  profilanswer
 

donc, avec l'aide aussi d'autres personnes et de la tienne, j'ai put faire et avoir ceci :
 
 

// Calcul d'une durée (type pour choisir en minutes ou en jours)
// substr c pour selectionner une partie de la chaine, les arguments // sont substr(chaine,debut,fin), compté en nombre de caractere
function duree($avant,$type) {
// avant est la date au format 0000-00-00 00:00:00 => date("Y-m-d H:i:s" )
// C'est la date qui est enregistré dans la base de données lors de la derniere visite
// ici on prend l'exemple de hier à 20h => 2004-02-18 20:15:00
$a=substr($avant,0,4); // on stocke dans a le nombre des années (0,4 => 2004
$m=substr($avant,5,2);  // $m=02   $j=substr($avant,8,2); // $j=18
$h=substr($avant,11,2); // $h=20
$mi=substr($avant,14,2);  //$mi=15
$se=substr($avant,17,2);  //$se=0
// on vérifie que c bien une date valide pour calculer le temps (donc que il y a au moins une année, un mois et un jour, le reste peut etre égal a 0
if ($a!=0000 and $m!=00 and $j!=00) {
// Convertir tout ça en un nombre entier de seconde (pour aviter de calculer depuis l'an 0 le calcul se fait a parti de 1970)
$timestamp = mktime($h, $mi, $se, $m, $j, $a ); // la fonction time donne la date d'aujourd'hui directement en seconde // (tjs par raport a 1970)
 
$maintenant = time();
// l'écart de seconde entre les deux date : celle enregistré dans la bdd ($avant) et la date d'ajourd'hui
$ecart_secondes = abs($maintenant - $timestamp);
// une fois l'écart en seconde un calcul pour convertir en minutes, ou en jour (un jour = 86400 secondes ;)
if ($type=="m" ) { $duree=floor($ecart_secondes/60); }
if ($type=="j" ) { $duree=floor($ecart_secondes/86400); }
} else {  $duree=0; }
return $duree;
}
 ta table est un peu comme ça
 
|--------|--------|----------------------|
| Pseudo | taille |        date          |
|--------|--------|----------------------|
| Murat  |  15    | 2004-02-18 20:15:00  |
|--------|--------|----------------------|
 
les accès bd pour récupérer les variables et ensuite pour faire grandir :
 
// $date est la date qu'il faut récuperer dans la base de donnée, "m" signifie que le résultat de la fonction duree en minutes
$temps_ecoule=duree($date,"m" );
// $taille est la taille récuperer dans la base de données, l'incrémenter de (2*$temps_ecoule)
// la plante pousse de 2 cm par minute, // donc fo sans doute revoir le calcul, 0.01 serait serai mieux :D
$taille+=2*$temps_ecoule;
 
echo 'Votre plante fait maintenant '.$taille.' cm';


 
mais bon, je n'arrive pas du tout a faire un script complet pour avoir un code  
bien fait, donc si quelqu'un peut m'aider a faire un script complet avec les indications en haut, je lui serai très reconnaissant, car malgré ca, je n'y arrive pas du tout :/ j'y ai passer la nuit mais je n'y arrive pas du tout  :(  
 
Merci a ceux qui peuvent m'aider :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  duree et temps

 

Sujets relatifs
[resolu] redirection automatique apres un laps de temps[VB Excel] bouton qui descend en meme temps que l'ascenseur ?
requete sql qui prend le moins de temps ?[PHP/sql] Valeur d'un champs table sql qui change au cours du temps ?
[PHP]Autoriser l'accés à un fichier pendant un temps précis ?Calcul d'une durée de plus de 24h
Récupere depuis combien de temps est lancé un programme en C.[CAML] algo a comprendre - viendez tester lIA en meme temps
[Java] Evaluer le temps d'exécution d'un fonction.Lire, afficher et écrire en meme temps
Plus de sujets relatifs à : duree et temps


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR