philippe.lerch
Messages postés8Date d'inscriptionmardi 30 septembre 2003StatutMembreDernière intervention16 mars 2009 15 févr. 2013 à 13:33
Je vois que même après plus de 6 ans, le code est toujours d'actualité. Merci de votre interrêt. Phil.
cs_stay
Messages postés493Date d'inscriptionjeudi 7 juillet 2005StatutMembreDernière intervention24 mai 20174 15 févr. 2013 à 13:29
Bonjour à tous,
Il y a une autre erreur qui me semble pertinente.
Il y a un jour de décalage pour tous les signes.
Il faut ajouter le égal dans l'expression if ($mois_jour <= $cle)
Sinon, un sagittaire qui est né le 21-12-xxxx est Capricorne.
Merci pour le code.
stéph
cs_Tioneb
Messages postés193Date d'inscriptiondimanche 16 décembre 2001StatutMembreDernière intervention29 juillet 2015 5 févr. 2012 à 14:32
Désolé Barok, mais ta fonction ne fonctionne pas en l'état. Il y a 3 erreurs! Il faut fermer le mot Vierge et mettre une virgule et tu t'es trompé dans la variable de retour, il faut mettre return $tab_date_signe[$cle];
Et un petit return false; après le foreach n'aurait pas fait de mal. Après ces modifs, on peut dire qu'elle fonctionne parfaitement!
barok
Messages postés9Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention27 février 2010 27 févr. 2010 à 21:35
désolé, l'indentation ne fonctionne pas, mais la fonction elle marche parfaitement
barok
Messages postés9Date d'inscriptionlundi 7 juillet 2003StatutMembreDernière intervention27 février 2010 27 févr. 2010 à 21:32
cs_lolo55
Messages postés21Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention 1 mars 2007 1 févr. 2007 à 12:03
merci bcp ;)
cs_mfaraday
Messages postés144Date d'inscriptionvendredi 18 avril 2003StatutMembreDernière intervention 4 janvier 2010 1 févr. 2007 à 01:30
Salut
Euh : tout dépends ce que tu veux en faire mais un
<?php
echo SigneZodiaque(18, 1);
?>
devrait fonctionner.
Flo
cs_lolo55
Messages postés21Date d'inscriptionlundi 20 septembre 2004StatutMembreDernière intervention 1 mars 2007 31 janv. 2007 à 23:30
Bonjour,
Voila je souhaite utiliser cette fonction sur mon site et j'aimerais stipulé moi meme une date (ex: 18 janvier = capricorne) comment puis je moi meme dire au code la date pour qu'il puisse me sortir le signe astrologique ?
Merci d'avance de votre aide !
paulien
Messages postés6Date d'inscriptionlundi 21 avril 2003StatutMembreDernière intervention23 décembre 2006 23 déc. 2006 à 04:53
Oups désolé, l'indentation du code ne passe pas sur les commentaires...
paulien
Messages postés6Date d'inscriptionlundi 21 avril 2003StatutMembreDernière intervention23 décembre 2006 22 déc. 2006 à 02:18
Si je puis me permettre, déjà de une je trouve que c'est mal ecrit, le capricorne n'est pas bien géré, au début de l'année on est capricorne et non verseau, ce que cette fonction faisait, et en plus les dates n'etaient pas tout a fait correctes, voici donc la fonction, reecrite par mes soins, qui est je trouve beaucoup mieux ecrite, et qui fonctionne à 100% (je l'ai testée en bouclant sur les jours et mois)
La Voici :
function SigneZodiaque($jour,$mois)
{
//Les signes du zodiaque dans l'ordre
$signes_zodiaque = array('Verseau','Poisson','Bélier','Taureau','Gémau','Cancer','Lion','Vierge','Balance','Scorpion','Sagitaire','Capricorne');
/*
Verseau 21 janvier au 19 février
Poisson 20 février au 20 mars
Bélier 21 mars au 20 avril
Taureau 21 avril au 20 mai
Gémeau 21 mai au 21 juin
Cancer 22 juin au 23 juillet
Lion 24 juillet au 23 août
Vierge 24 août au 23 septembre
Balance 24 septembre au 23 octobre
Scorpion 24 octobre au 22 novembre
Sagittaire 23 novembre au 20 décembre
Capricorne 21 décembre au 20 janvier
*/
//Limite de fin periode pour chaque signe
$periodes_zodiaque = array(21,20,21,21,21,22,24,24,24,24,23,21);
//on prend la valeur du mois en cours
$periode = $periodes_zodiaque[($mois-1)];
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 29 sept. 2006 à 11:24
je passais ici par hazard... étonnant de voir ça initié pour seulement 32 lignes de codes codés salement...
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 22 sept. 2006 à 11:49
"Je pense que la manipulation et la compréhension de tableau fait parti d'un niveau initié"
La manipulation et la compréhension des tableau sont une base indispensable de php... donc niveau débutant... mais bon... chacun son point de vue... .. .
@ tchaOo°
philippe.lerch
Messages postés8Date d'inscriptionmardi 30 septembre 2003StatutMembreDernière intervention16 mars 2009 22 sept. 2006 à 11:14
C'est vrai que pour certains cela peut poser problème si la personne se trouve à cheval entre deux signes. Mais en général les personnes se basent sur leur journée de naissance sans tenir compte de l'heure de naissance. (à moins d'être un astrologue!).De plus très peu la connaisse réellement.
Le but de cette fonction est seulement d'épargner une suite de condition ....
En faite, la super globale $GLOBALS était en dehors de la fonction avant de la proposer sur le site. Elle est utilisé pour d'autres fonctions non affichée ici. Pour une raison de mise en page, j'ai juste fait un copier coller dans la fonction (tout dans le 'sac'). Mais cela est vrai, ca peut surprendre si l'on ne connait pas le contexte.
niveau initié: Je pense que la manipulation et la compréhension de tableau fait parti d'un niveau initié, malgré que le code si dessus est très simple. C'est mon avi
A+ Philippe et merci de vos commentaires.
kankrelune
Messages postés1293Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention21 mai 2015 20 sept. 2006 à 19:35
Quel est l'interet d'utiliser la super globale $GLOBALS dans ta fonction... .. ?
Hormis ça je vois pas où est le niveau initié de cette source... .. .
@ tchaOo°
cs_mfaraday
Messages postés144Date d'inscriptionvendredi 18 avril 2003StatutMembreDernière intervention 4 janvier 2010 20 sept. 2006 à 19:20
Salut
Rien à voir avec le code, mais cette fonction n'est pas tout à fait valable.
En effet étant né le 21 mai, beaucoup me considère comme Taureau les autres comme Gémeaux. Si je me fie à ta fonction, je suis effectivement Gémeaux. Mais ce n'est pas aussi simple car rentre la notion d'heure de naissance, en effet je suis né à 13h15 et c'est ce qui fait que je suis Gémeaux... le signé des Gémeaux commence le 21 mai à 13h...
C'était juste une petite mise au point :)
Sinon pour le principe je suis d'accord que ça parait mieux que de faire 12 if. Mais je n'ai pas regardé plus loin...
15 févr. 2013 à 13:33
15 févr. 2013 à 13:29
Il y a une autre erreur qui me semble pertinente.
Il y a un jour de décalage pour tous les signes.
Il faut ajouter le égal dans l'expression if ($mois_jour <= $cle)
Sinon, un sagittaire qui est né le 21-12-xxxx est Capricorne.
Merci pour le code.
stéph
5 févr. 2012 à 14:32
Et un petit return false; après le foreach n'aurait pas fait de mal. Après ces modifs, on peut dire qu'elle fonctionne parfaitement!
27 févr. 2010 à 21:35
27 févr. 2010 à 21:32
function Get_signe ($date_naissance)
{
$date_naissance; # une date au format AAAA-MM-JJ
$mois_jour = substr($date_naissance, 5, 2).substr($date_naissance, 8, 2);
$tab_date_signe = array(
'0120' => 'Capricorne',
'0218' => 'Verseau',
'0320' => 'Poisson',
'0420' => 'Belier',
'0521' => 'Taureau',
'0621' => 'Gemeaux',
'0722' => 'Cancer',
'0822' => 'Lion',
'0922' => 'Vierge
'1022' => 'Balance',
'1122' => 'Scorpion',
'1221' => 'Sagittaire',
'1300' => 'Capricorne',
);
foreach ($tab_date_signe as $cle => $valeur)
{
if ($mois_jour < $cle)
{
return $tab_signe[$valeur];
}
}
}
$signe = Get_signe('1983-01-13'); # renvoi Capricorne
1 févr. 2007 à 12:03
1 févr. 2007 à 01:30
Euh : tout dépends ce que tu veux en faire mais un
<?php
echo SigneZodiaque(18, 1);
?>
devrait fonctionner.
Flo
31 janv. 2007 à 23:30
Voila je souhaite utiliser cette fonction sur mon site et j'aimerais stipulé moi meme une date (ex: 18 janvier = capricorne) comment puis je moi meme dire au code la date pour qu'il puisse me sortir le signe astrologique ?
Merci d'avance de votre aide !
23 déc. 2006 à 04:53
22 déc. 2006 à 02:18
La Voici :
function SigneZodiaque($jour,$mois)
{
//Les signes du zodiaque dans l'ordre
$signes_zodiaque = array('Verseau','Poisson','Bélier','Taureau','Gémau','Cancer','Lion','Vierge','Balance','Scorpion','Sagitaire','Capricorne');
/*
Verseau 21 janvier au 19 février
Poisson 20 février au 20 mars
Bélier 21 mars au 20 avril
Taureau 21 avril au 20 mai
Gémeau 21 mai au 21 juin
Cancer 22 juin au 23 juillet
Lion 24 juillet au 23 août
Vierge 24 août au 23 septembre
Balance 24 septembre au 23 octobre
Scorpion 24 octobre au 22 novembre
Sagittaire 23 novembre au 20 décembre
Capricorne 21 décembre au 20 janvier
*/
//Limite de fin periode pour chaque signe
$periodes_zodiaque = array(21,20,21,21,21,22,24,24,24,24,23,21);
//on prend la valeur du mois en cours
$periode = $periodes_zodiaque[($mois-1)];
if($jour < $periode)
{
if($mois == 1) $mois=13;
$signe = $signes_zodiaque[($mois-2)];
}
else
{
$signe = $signes_zodiaque[$mois-1];
}
return $signe;
}
29 sept. 2006 à 11:24
22 sept. 2006 à 11:49
La manipulation et la compréhension des tableau sont une base indispensable de php... donc niveau débutant... mais bon... chacun son point de vue... .. .
@ tchaOo°
22 sept. 2006 à 11:14
Le but de cette fonction est seulement d'épargner une suite de condition ....
En faite, la super globale $GLOBALS était en dehors de la fonction avant de la proposer sur le site. Elle est utilisé pour d'autres fonctions non affichée ici. Pour une raison de mise en page, j'ai juste fait un copier coller dans la fonction (tout dans le 'sac'). Mais cela est vrai, ca peut surprendre si l'on ne connait pas le contexte.
niveau initié: Je pense que la manipulation et la compréhension de tableau fait parti d'un niveau initié, malgré que le code si dessus est très simple. C'est mon avi
A+ Philippe et merci de vos commentaires.
20 sept. 2006 à 19:35
Hormis ça je vois pas où est le niveau initié de cette source... .. .
@ tchaOo°
20 sept. 2006 à 19:20
Rien à voir avec le code, mais cette fonction n'est pas tout à fait valable.
En effet étant né le 21 mai, beaucoup me considère comme Taureau les autres comme Gémeaux. Si je me fie à ta fonction, je suis effectivement Gémeaux. Mais ce n'est pas aussi simple car rentre la notion d'heure de naissance, en effet je suis né à 13h15 et c'est ce qui fait que je suis Gémeaux... le signé des Gémeaux commence le 21 mai à 13h...
C'était juste une petite mise au point :)
Sinon pour le principe je suis d'accord que ça parait mieux que de faire 12 if. Mais je n'ai pas regardé plus loin...
Flo