Aide pour un code PHP Le sujet est résolu

Une simple question, pas de souci, nous sommes là pour y répondre.
Règles du forum
Pour toute demande d'aide commencez par indiquer :
  • votre matériel complet et votre système d'exploitation.
  • Si ces conditions ne sont pas remplies, où bien incomplètes le sujet ne sera pas traité.
  • Et surtout donnez de vos nouvelles sans laisser traîner pendant des semaines, voire des mois !
LexisBass
    unknown unknown

Aide pour un code PHP

Message par LexisBass »

Bonjour les amis, voila mon problème est mon suivant, je dois suivre une formation PHP pour mon école sur technofutur, arrivé au 3ème module, je dois remplir une évaluation et j'ai besoin de votre aide car je ne comprends pas une question alors si vous pouvez m'éclairer et corriger par ailleurs mon code je vous en serrez très reconnaissant.

Voici l'énoncé:
"Écrivez un petit script PHP qui affiche : « Nous sommes mardi. » si on est un mardi, « Nous sommes jeudi. » si on est un jeudi, etc.

Ne pas encoder les balises <?php...?> dans votre code !"

Alors je n'ai déjà pas compris par ou commence et j'ai donc fais ce code:

$jour = "Mardi";

if ($jour == "Mardi");
{
echo "Mardi";
}

else
{
echo "Lundi" or "Mercredi" or "Jeudi" or "Vendredi" or "Samedi" or "Dimanche";
}


Je ne sais absolument pas si il est bon et j'ai donc besoin de votre aide pour savoir si je suis carrément à côté de la plaque et par la même occasion me mettre une bonne piste si vous êtes d'accord.

Merci pour votre aide. :)
Avatar du membre
Prof
Administrateur du site
Administrateur du site
Messages : 8259
Enregistré le : lun. 5 avr. 2010 20:07
Localisation : Vosges
A remercié : 3 fois
A été remercié : 8 fois
Contact :
    unknown unknown

Re: Aide pour un code PHP

Message par Prof »

Salut LexisBass,

Ta demande est un peu vague, car tout dépend des requêtes que tu peux faire au serveur.

Car moi, je ne serais pas passé par un if --> else pour afficher la date mais plutôt par du <echo date> ou du <strftime>...

As-tu plus d'info ?

Dois-tu coder toute la fonction ou peux-tu faire appel à une fonction existante ?

Si tu dois tout coder, je pense que j'utiliserais une variable booléenne qui sera moins lourd que du else/if dans ton cas.

Mais bon, je ne suis pas un expert :)
Règlement du forum
Toute demande d'aide ou de liens par MP est inutile !
zexcelator
    unknown unknown

Re: Aide pour un code PHP

Message par zexcelator »

Si c'est pour comparer à la date du jour.

Code : Tout sélectionner

// Choisir la langue Française pour la date du jour. Si 'fr_FR.UTF8' ne fonctionne pas, utiliser une des autres syntaxes (dépend du serveur).
// 'fr_FR.UTF8'
// 'fr_FR'
// 'fr'
// 'fra_fra'
setlocale(LC_TIME, 'fr_FR.UTF8');
 
.// Récupèrer le libellé de la date du jour (version locale) => paramètre '%A'.
$Jour = strftime('%A');
if ($jour == "Mardi");
{
...
LexisBass
    unknown unknown

Re: Aide pour un code PHP

Message par LexisBass »

Prof a écrit :Salut LexisBass,

Ta demande est un peu vague, car tout dépend des requêtes que tu peux faire au serveur.

Car moi, je ne serais pas passé par un if --> else pour afficher la date mais plutôt par du <echo date> ou du <strftime>...

As-tu plus d'info ?

Dois-tu coder toute la fonction ou peux-tu faire appel à une fonction existante ?

Si tu dois tout coder, je pense que j'utiliserais une variable booléenne qui sera moins lourd que du else/if dans ton cas.

Mais bon, je ne suis pas un expert :)
J'ai appris les conditions, j'ai aussi apprit les liens logique tel que ou, et, etc...

Ce n'est qu'une formation basique de PHP mais maintenant, j'aimerai savoir si je dois effectivement comparer (Et je pense que c'est ça qui est demandé) car on me demande d'écrire un petit script et pas des petits script.
LexisBass
    unknown unknown

Re: Aide pour un code PHP

Message par LexisBass »

zexcelator a écrit :Si c'est pour comparer à la date du jour.

Code : Tout sélectionner

// Choisir la langue Française pour la date du jour. Si 'fr_FR.UTF8' ne fonctionne pas, utiliser une des autres syntaxes (dépend du serveur).
// 'fr_FR.UTF8'
// 'fr_FR'
// 'fr'
// 'fra_fra'
setlocale(LC_TIME, 'fr_FR.UTF8');
 
.// Récupèrer le libellé de la date du jour (version locale) => paramètre '%A'.
$Jour = strftime('%A');
if ($jour == "Mardi");
{
...
Je crois que c'est presque comme toi sauf que la partie du haut je ne la connais absolument pas et la fonctione "strftime" je ne la connais absolument pas non plus.

En faites, je dois faire un script tel que l'énoncé le demande.
zexcelator
    unknown unknown

Re: Aide pour un code PHP

Message par zexcelator »

$Jour = strftime('%A'); // strftime retourne la date en cours. Avec le paramètre '%A', on ne récupère que le nom du jour, avec '%m' que le numéro du mois, etc. exemple : echo strftime('%d %B %Y'); // Affiche 19 février 2015

setlocale(LC_TIME, 'fr_FR.UTF8'); // Pour dire à php que nous souhaitons afficher en français. Sinon strftime afficherait "thursday" au lieu de "jeudi".

Ton programme s'écrit en 3 lignes

Code : Tout sélectionner

setlocale(LC_TIME, 'fr_FR.UTF8');
$Jour = strftime('%A');
echo "Nous sommes " . $Jour; // Affiche Nous sommes jeudi (pour le 19/02/2015).
Avatar du membre
sh@rp
Membre VIP
Membre VIP
Messages : 585
Enregistré le : mar. 1 févr. 2011 13:03
Contact :
    unknown unknown

Re: Aide pour un code PHP

Message par sh@rp »

Prof a écrit :Salut LexisBass,

Ta demande est un peu vague, car tout dépend des requêtes que tu peux faire au serveur.

Car moi, je ne serais pas passé par un if --> else pour afficher la date mais plutôt par du <echo date> ou du <strftime>...

As-tu plus d'info ?

Dois-tu coder toute la fonction ou peux-tu faire appel à une fonction existante ?

Si tu dois tout coder, je pense que j'utiliserais une variable booléenne qui sera moins lourd que du else/if dans ton cas.

Mais bon, je ne suis pas un expert :)
La consistance et la mise en oeuvre d'un algorithme réside en grande partie dans la compréhension de l'énoncé, ici il sera OBLIGE de passer par un test conditionnel pour savoir si le jour retourné par une fonction existante ou codée soi-même se nomme bien mardi ou porte un index particulier (au pire : mardi = index 2).
De toute manière un test conditionnel travaille avec une variable boolean (True ou NotTrue) !

La dernière solution proposée par zexcelator me semble pas mal. ;)
Modifié en dernier par sh@rp le jeu. 19 févr. 2015 11:39, modifié 1 fois.
Le dev ne se réduit pas à du simple copier/coller de codes sources mais à une incommensurable phase d'apprentissage d'un domaine en perpétuelle évolution !
http://3dotdevcoder.blogspot.fr/
Avatar du membre
Prof
Administrateur du site
Administrateur du site
Messages : 8259
Enregistré le : lun. 5 avr. 2010 20:07
Localisation : Vosges
A remercié : 3 fois
A été remercié : 8 fois
Contact :
    unknown unknown

Re: Aide pour un code PHP

Message par Prof »

La solution de zexcelator est bonne mais on utilise bien <strftime> et je ne sais pas si on a le droit, je lui posait donc la question...

Car si on n'a pas le droit il devra passer par comparer un a un les jours, et de ce qu'il me reste de la fac, le code sera plus léger avec une variable booléenne qui dira ce qui est true or false qu'avec une montagne de else, or, if, else, or...

Parce que du coup, si il ne peut pas utiliser strftime tu proposes quoi comme code ?
Règlement du forum
Toute demande d'aide ou de liens par MP est inutile !
Avatar du membre
sh@rp
Membre VIP
Membre VIP
Messages : 585
Enregistré le : mar. 1 févr. 2011 13:03
Contact :
    unknown unknown

Re: Aide pour un code PHP

Message par sh@rp »

Prof a écrit :La solution de zexcelator est bonne mais on utilise bien <strftime> et je ne sais pas si on a le droit, je lui posait donc la question...

Car si on n'a pas le droit il devra passer par comparer un a un les jours, et de ce qu'il me reste de la fac,
Mon PHP ne date pas de la FAC mais d'une remise à niveau d'il y a 1 an au CFI de PARIS.

Prof a écrit :le code sera plus léger avec une variable booléenne qui dira ce qui est true or false qu'avec une montagne de else, or, if, else, or...
Même si à l'écriture un pavé conditionnel If....ElseIf.... etc...te parait plus lourd qu'un simple test avec une variable booléenne, le compilateur n'utilise (consomme) qu'une seule et unique variable pour toute la durée du test.... la consommation en terme de ressource mémoire est identique !
Prof a écrit : Parce que du coup, si il ne peut pas utiliser strftime tu proposes quoi comme code ?
Il existe plusieurs possibilités pour un problème donné, .... il n'y a pas de meilleur méthodes que d'autres, ....

---> le plus important c'est la méthodologie, la réflexion propre à chaque développeur d'arriver au résultat escompté.

On peut procéder ainsi sans devoir passer par strftime :

Code : Tout sélectionner

<?php
$jours = array ('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi' );
echo 'Nous sommes ' . $jours [date("N")];
?>
De toute manière la date étant inhérente au système (client ou serveur) on sera IMPERATIVEMENT OBLIGE d'utiliser une fonction afin de retourner la date !

PS : je ne prétends pas que ce soit la meilleur solution mais pour reprendre la logique pédagogique d'OP, je pense que ses cours ciblent actuellement l'apprentissage des variables, typages, tableaux, tests conditionnels ....etc...


Voilà tout.
Modifié en dernier par sh@rp le jeu. 19 févr. 2015 11:33, modifié 1 fois.
Le dev ne se réduit pas à du simple copier/coller de codes sources mais à une incommensurable phase d'apprentissage d'un domaine en perpétuelle évolution !
http://3dotdevcoder.blogspot.fr/
zexcelator
    unknown unknown

Re: Aide pour un code PHP

Message par zexcelator »

on utilise bien <strftime> et je ne sais pas si on a le droit
Le cahier des charge, n'impose pas de technique particulière, donc ce qui n'est pas explicitement interdit est autorisé :) , et puis comme il est souligné, il faudra bien utiliser une fonction pour trouver la date du jour strftime() ou date().
Répondre