begin process at 2012 05 27 16:54:49
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Application

 > BIORYTHME AVEC AFFICHAGE GRAPHIQUE

BIORYTHME AVEC AFFICHAGE GRAPHIQUE


 Information sur la source

Note :
Aucune note
Catégorie :Application Classé sous :biorythme, bio, rythme, corps, santé Niveau :Débutant Date de création :05/10/2010 Vu / téléchargé :2 824 / 128

Auteur : mailliam

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Un style de BioRythme qui affiche une courbe sinusoïdale entre 2 dates.
C'est un jour ma copine qui m'a demandé si je ne serais pas capable de lui programmer un calendrier qui lui signalerait le jour des ragnoutes, soit environ tout les 28 jrs.

Donc il faut définir la date du dernier événement, ainsi que la récurrence (28 jrs) et le nombre de jours de prévision.
Pour la lecture du graphique: les phases les + hautes c'est les jours où l'on va le mieux, le + bas l'événement en question..

Le calendrier fait une toute petite erreur car il ne tient pas compte des années bissextiles, il fait juste 30-31-30...

Source

  • <html>
  • <head>
  • <title>BioRythme</title>
  • <body>
  • <?
  • $recurance = htmlentities ($_POST['recurance'], ENT_QUOTES);
  • if ($recurance == '')
  • { $recurance = '15'; }
  • $depart = htmlentities ($_POST['depart'], ENT_QUOTES);
  • if ($depart == '')
  • { $depart = '01.01.2010'; }
  • $prevision = htmlentities ($_POST['prevision'], ENT_QUOTES);
  • if ($prevision == '')
  • { $prevision = '31'; }
  • echo '<font color=red>Pr&eacute;visions pour '.$prevision.' jours, depuis aujourd\'hui ('.date("d-m-Y").'):</font><br><br>';
  • //calcul nb de jour:
  • $recurance = $recurance * 2; //multiplie par 2 car la formule du sinus est positive puis négative alors que j'ai une valeur absolue (voir + loin)
  • $date1=date("Y-m-d"); //a aujourd'hui
  • $JJ=substr($depart,0,2); //jour depart
  • $MM=substr($depart,3,2); //mois depart
  • $AA=substr($depart,6,4); //an depart
  • $date2 = $AA.$MM.$JJ; //depuis la date entrée
  • //$date2 = $an.'-01-'.$depart; //depuis X janvier 'YYYY (X étant le nb de jour et YYYY l'an en cours..)
  • $nbjours = round((strtotime($date1) - strtotime($date2))/(60*60*24)); //calcul de nombre de jours entre $date2 et aujourd'hui ($date1)
  • //calcul de la courbe sinus:
  • echo 'calcul avec laps de temps de '.($recurance/2).' jour(s)<br>';
  • echo 'date du dernier &eacute;v&eacute;nement: '.$depart.'<br><br>';
  • $jour=substr($date1,8,2); //$jour=JJ d'aujoud'hui
  • $trente = '31'; //défini si c'est un mois à 30 ou 31 jours
  • echo '<center><table style="border:1px solid black" CELLPADDING=2 CELLSPACING=0><tr>';
  • for($i=0;$i < $prevision;$i++) //boucle de 31 jours pour afficher la courbe sin (31 par defaut mais choisi par l'utilisateur $prevision)
  • {
  • $courbe=sin(2*3.14*$nbjours/$recurance); //calcul le sin
  • $courbe = abs($courbe); //variable absolue (enleve le signe + ou -)
  • $courbe = round($courbe,2); //arrondi a 1 chiffre après la ,
  • $courbe = $courbe*150;
  • echo '<td align=center BGCOLOR="#ffffff" width=30 height=100><img src="barre.png" alt="" width="5" height='.$courbe.' /></td>';
  • $nbjours++;
  • }
  • echo '</tr><tr>';
  • for($i=0;$i < $prevision;$i++) //boucle pour afficher le calendrier
  • {
  • echo '<td align=center BGCOLOR="#CC3333" width=30>'.$jour.'</td>';
  • $jour++;
  • if (($jour == '31') && ($trente == '30'))
  • { $jour = '1'; $trente = '31';
  • }
  • if (($jour == '32') && ($trente == '31'))
  • { $jour = '1'; $trente = '30';
  • }
  • }
  • echo '</tr></table>';
  • ?>
  • <br><br>
  • <form method='post' action='biorythme.php'>
  • <table border=0 CELLPADDING=0 CELLSPACING=0>
  • <tr>
  • <td align=right BGCOLOR="#CC3333" width=160><font size=2 color="#FFFFFF">Saisie&nbsp;</font></td>
  • <td align=left BGCOLOR="#CC3333" width=150><font size=2 color="#FFFFFF">Utilisateur</font></td>
  • </tr>
  • <tr>
  • <td>&nbsp;</td>
  • <td>&nbsp;</td>
  • </tr>
  • <tr>
  • <td align=right width=160><font size=2 color=#CC3333><b>r&eacute;curance:&nbsp;</b></font></td>
  • <td align=left width=150>&nbsp;<INPUT STYLE='Text-ALIGN:center' TYPE='text' NAME='recurance' SIZE=2 MAXLENGTH=3 VALUE='15'><font size=1>&nbsp;Tout les X jours</font></td>
  • </tr>
  • <tr>
  • <td>&nbsp;</td>
  • <td>&nbsp;</td>
  • </tr>
  • <tr>
  • <td align=right width=160><font size=2 color=#CC3333><b>dernier &eacute;v&eacute;nement:&nbsp;</b></font></td>
  • <td align=left width=150>&nbsp;<INPUT STYLE='Text-ALIGN:center' TYPE='text' NAME='depart' SIZE=8 MAXLENGTH=10 VALUE='31.12.2010'></td>
  • </tr>
  • <tr>
  • <td>&nbsp;</td>
  • <td>&nbsp;</td>
  • </tr>
  • <tr>
  • <td align=right width=160><font size=2 color=#CC3333><b>nb jours pr&eacute;vision:&nbsp;</b></font></td>
  • <td align=left width=150>&nbsp;<INPUT STYLE='Text-ALIGN:center' TYPE='text' NAME='prevision' SIZE=2 MAXLENGTH=3 VALUE='31'><font size=1>&nbsp;A afficher</font></td>
  • </tr>
  • <tr>
  • <td>&nbsp;</td>
  • <td>&nbsp;</td>
  • </tr>
  • <tr>
  • <td align=right width=160>&nbsp;</td>
  • <td align="left" width=150>&nbsp;<input name="submit" type="submit" value="Calculer"></td>
  • </tr>
  • </table></form>
  • </center><br><br>
  • <font color=green size=2><u>Points importants:</u><br>Lors de la saisie de la date de dernier &eacute;v&eacute;nement, pr&eacute;f&eacute;rer choisir un mois a 31 jours<br>Lecture de la courbe: elle d&eacute;fini la date entree par le point le + bas sur la courbe! (le + &eacute;lev&eacute; d&eacute;fini l&agrave; ou on est le mieux..)<br>Lors d'une saisie de date: ne pas oublier le 0 dans 01.12.2000 et non 1.12.2000..</font>
  • </body>
  • </html>
<html>
<head>
<title>BioRythme</title>
<body>
<?
$recurance = htmlentities ($_POST['recurance'], ENT_QUOTES);
if ($recurance == '')

{ $recurance = '15'; }
$depart = htmlentities ($_POST['depart'], ENT_QUOTES);
if ($depart == '')

{ $depart = '01.01.2010'; }
$prevision = htmlentities ($_POST['prevision'], ENT_QUOTES);
if ($prevision == '')

{ $prevision = '31'; }
echo '<font color=red>Pr&eacute;visions pour '.$prevision.' jours, depuis aujourd\'hui ('.date("d-m-Y").'):</font><br><br>';

//calcul nb de jour:
$recurance = $recurance * 2; //multiplie par 2 car la formule du sinus est positive puis négative alors que j'ai une valeur absolue (voir + loin)
$date1=date("Y-m-d"); //a aujourd'hui
$JJ=substr($depart,0,2); //jour depart
$MM=substr($depart,3,2); //mois depart
$AA=substr($depart,6,4); //an depart
$date2 = $AA.$MM.$JJ; //depuis la date entrée
//$date2 = $an.'-01-'.$depart; //depuis X janvier 'YYYY (X étant le nb de jour et YYYY l'an en cours..)
$nbjours = round((strtotime($date1) - strtotime($date2))/(60*60*24)); //calcul de nombre de jours entre $date2 et aujourd'hui ($date1)


//calcul de la courbe sinus:
echo 'calcul avec laps de temps de '.($recurance/2).' jour(s)<br>';
echo 'date du dernier &eacute;v&eacute;nement: '.$depart.'<br><br>';
$jour=substr($date1,8,2); //$jour=JJ d'aujoud'hui
$trente = '31'; //défini si c'est un mois à 30 ou 31 jours

echo '<center><table style="border:1px solid black" CELLPADDING=2 CELLSPACING=0><tr>';
for($i=0;$i < $prevision;$i++) //boucle de 31 jours pour afficher la courbe sin (31 par defaut mais choisi par l'utilisateur $prevision)
{
$courbe=sin(2*3.14*$nbjours/$recurance); //calcul le sin
$courbe = abs($courbe); //variable absolue (enleve le signe + ou -)
$courbe = round($courbe,2); //arrondi a 1 chiffre après la ,
$courbe = $courbe*150;
echo '<td align=center BGCOLOR="#ffffff" width=30 height=100><img src="barre.png" alt="" width="5" height='.$courbe.' /></td>';
$nbjours++;
}
echo '</tr><tr>';
for($i=0;$i < $prevision;$i++) //boucle pour afficher le calendrier
{
echo '<td align=center BGCOLOR="#CC3333" width=30>'.$jour.'</td>';
$jour++;
if (($jour == '31') && ($trente == '30'))

{ $jour = '1'; $trente = '31';

}
if (($jour == '32') && ($trente == '31'))

{ $jour = '1'; $trente = '30';

}
}
echo '</tr></table>';
?>
<br><br>
<form method='post' action='biorythme.php'>

<table border=0 CELLPADDING=0 CELLSPACING=0>
<tr>
<td align=right BGCOLOR="#CC3333" width=160><font size=2 color="#FFFFFF">Saisie&nbsp;</font></td>
<td align=left BGCOLOR="#CC3333" width=150><font size=2 color="#FFFFFF">Utilisateur</font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align=right width=160><font size=2 color=#CC3333><b>r&eacute;curance:&nbsp;</b></font></td>
<td align=left width=150>&nbsp;<INPUT STYLE='Text-ALIGN:center' TYPE='text' NAME='recurance' SIZE=2 MAXLENGTH=3 VALUE='15'><font size=1>&nbsp;Tout les X jours</font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align=right width=160><font size=2 color=#CC3333><b>dernier &eacute;v&eacute;nement:&nbsp;</b></font></td>
<td align=left width=150>&nbsp;<INPUT STYLE='Text-ALIGN:center' TYPE='text' NAME='depart' SIZE=8 MAXLENGTH=10 VALUE='31.12.2010'></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align=right width=160><font size=2 color=#CC3333><b>nb jours pr&eacute;vision:&nbsp;</b></font></td>
<td align=left width=150>&nbsp;<INPUT STYLE='Text-ALIGN:center' TYPE='text' NAME='prevision' SIZE=2 MAXLENGTH=3 VALUE='31'><font size=1>&nbsp;A afficher</font></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td align=right width=160>&nbsp;</td>
<td align="left" width=150>&nbsp;<input name="submit" type="submit" value="Calculer"></td>
</tr>
</table></form>
</center><br><br>
<font color=green size=2><u>Points importants:</u><br>Lors de la saisie de la date de dernier &eacute;v&eacute;nement, pr&eacute;f&eacute;rer choisir un mois a 31 jours<br>Lecture de la courbe: elle d&eacute;fini la date entree par le point le + bas sur la courbe! (le + &eacute;lev&eacute; d&eacute;fini l&agrave; ou on est le mieux..)<br>Lors d'une saisie de date: ne pas oublier le 0 dans 01.12.2000 et non 1.12.2000..</font>
</body>
</html>

 Conclusion

Pour conclure, je me souviens que quand j'étais jeune et plein de boutons sur la gu**** j'avais l'impression que j'avais une poussée toutes les 3-4 semaines et que ca allait mieux entre deux, ca aurait été marrant de vérifier avec un graph :)

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec une capture PHPREPOGENERATOR + REPO (WIN) par alvinp
Source avec Zip IPHONE - ICÔNE D'APPEL TÉLÉPHONIQUE SUR L'ÉCRAN D'ACCUEIL par Rainbow
Source avec Zip Source avec une capture [APP WEB]SERVEUREXPLOREUR par thematrix01
Source avec Zip Source avec une capture MY.BOOKMARKS par inwebo
Source avec Zip M.V.C M.E.D par faceme

Commentaires et avis

Commentaire de undertaker4000 le 11/10/2010 07:58:33

Bonjour mailliam,
Bel effort mais il existe de tels programmes qui offrent un affichage bien plus complexe en prenant en compte - et en affichant - d'autres courbes physiologiques.

Deux petites questions :
- Pourquoi ne pas approfondir tes recherches sur ces rythmes biologiques et ainsi compléter ton programme ?

- Tu signales que ton programme ne tient pas compte des années bissextiles. Qu'attends-tu pour corriger cela ?

Bel exercice sur les sinus.

A+

Commentaire de mailliam le 11/10/2010 17:46:28

Tcho undertaker4000, merci pour ton message

Oui tu as raison d'habitude les biorythmes affichent 3 courbes, mais moi je voulais juste n'en afficher qu'une, dont je choisis la date de départ (au lieu de la date de naissance) et de pouvoir modifier le nombre de jour (les biorythmes d'habitude ont 3 courbes de 20, 23 et 25 jours).

sinon pour les années bissextiles ca fait pas une grande erreur, 4 jours au max sur 1 an, donc j'ai pas jugé utile d'aller + loin ;)

Ce que j'ai amélioré dans mon script depuis, c'est de pouvoir enregistrer des dates en faisant appel à une base de donnée, si qqun est intéressé je peux mettre à jour ma source..

voilou-voilou, A++

Commentaire de defis91 le 15/10/2010 16:55:18

Le calcul de date est faux, mais aussi les cyles : (Wikipedia)
En 1904, le médecin (de)Hermann Swoboda, professeur en psychologie à l'université de Vienne met en évidence un cycle physique de 23 jours et un cycle émotionnel de 28 jours. Au même moment, à Berlin, le médecin biologiste Wilhelm Fliess arrive aux mêmes conclusions. C'est en 1920, que le cycle de l'intellect d'une durée de 33 jours est mis en évidence à Innsbrück par Alfred Teltscher, professeur en génie mécanique qui, pendant des années, notait ses observations sur le comportement cérébral de ses étudiants.
Tu peux ajouter :
En particulier, les cycles qui ont été ajoutés aux cycles reconnus (sommeil ou cycle reproductif chez la femme) tel que le cycle intuitif de 38 jours, le cycle esthétique de 43 jours et le cycle spirituel de 53 jours, voire un "cycle de la passion", sont généralement considérés comme des produits de l'imagination. La science expérimentale a mis en évidence un certain nombre de rythmes dans le cadre de la "chronobiologie". Ces rythmes n'ont pas la fixité mécanique des biorythmes définis dans la théorie présentée dans cet article.

Tu peux en discuter avec ta copine...
Mais bravo pour les courbes.
Dom Efis


 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Requete et distinct [ par porciner ] Bonjour, je voudrais faire quelque chose de simple mais qui apparement ne fonctionne pas :SELECT DISTINCT (a.id), b.corps FROM users a, commentaires b harchie nulle [ par bigneuzu ] Hello, je suis tr&#232;s tr&#232;s tr&#232;s nulle et avoue ne rien comprendre en php, mais le soucis, c'est que j'en ai super besoin pour mon site qu Newsletter avec des images dans le corps [ par mitchbuck ] Hi everybody !Petite question : je souhaite cr&#233;er une newsletter fa&#231;on "entreprise" dont le corps de l'email est en fait une page internet n mail() probleme corps message [ par countag ] bonjours, j utilise ce script : <?php //Pour définir chaque input du formulaire, ajouter le signe de dollar devant $msg = $_POST['nom']; $msg récupération de l'entete et du corps de l'email +stokage dans mysql [ par sansouna24 ] j'ai besoin de savoir comment récupérer l'@ de l'expediteur, l'objet et le corps d'un email que mon client m'a envoyé via un formulaire présent sur mo Ptite question [ par sensoide ] Bonjour,Je vous expose le probl&#233;me:j'ai une table d'annonce avec les titre et le corps de l'annonce.J'affiche les news dans un bandeau entre deux PHP & mail [ par louna_ha ] Bonjour, j'ai un formulaire et je veux récupérer les données de ce formulaire et les envoyé par e_mail. voila mon code : $s=$_POST ['s']; $n=$_POST [" Envoie de mail double [ par Bartheleway ] Voil&#224;, mon site IFRANCE va sur une page de site MULTIMANIA pour l'envoie d'e-mail de confirmation d'inscription. Mais le probl&#232;me c'est que mail : headers dans le corps du mail !? [ par djagger ] Salut !j'envoi un mail en php :&lt;?php$dest="moi@monmail.com";$message="Ceci est un test";/* En-têtes */$headers  = "MIME-Version: 1.0\r\n";$headers Besoin de l'aide d'un king en php [urgent] [ par lambert__ch ] Bonjour tout le monde.je suis actuellement occupé à faire un site pour l'entreprise d'un pote et je suis confronté à un problème PHP, alors je cache r


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales