BOUCLE POUR CALENDRIER

cs_eXon Messages postés 166 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 8 avril 2007 - 2 févr. 2005 à 14:13
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 12 févr. 2005 à 18:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/29242-boucle-pour-calendrier

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 févr. 2005 à 18:54
exact...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
12 févr. 2005 à 17:55
et un "w" qui devrait être remplacé par un 'w' ^^
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 févr. 2005 à 13:29
8 mises à jours en 6 jours, et on trouve encore un :

"t"

qui devrait être remplacé par un 't'...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 févr. 2005 à 13:27
Pour ceci :
"http://news.netcraft.com/...have_spoofing_flaw.html"

C'est uniquement les URLS visibles, mais c'est inutile de les coder car en général, les identifications se font par post...

de toute façon, ça se balade en clair dans le réseau que l'on soit sous IE ou Firefox...

C'est pas ce que j'apelle une faille, c'est juste une barre d'adresse modifié coté USER, c'est pas une solution de sécuritée

Pour avoir de la sécuritée, faut être en HTTPS ou alors faire un peu de md5 en js avant l'envoi du mot de passe...

c'est faisable ça, mais je ne sais pas comment faire du md5 en js... Domage, ça permetrais à tout le monde d'être en parfaite sécuritée...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
12 févr. 2005 à 13:14
Salut,

les cellules d'en tête dans un tableau se différencient des cellules du corps du tableau.

En l'occurence tu peux remplacer ce petit bout de code :

<tr>
<td>L</td>
<td>M</td>
<td>M</td>
<td>J</td>
<td>V</td>
<td>S</td>
<td>D</td>
</tr>

par ça :

<tr>
<th>L</th>
<th>M</th>
<th>M</th>
<th>J</th>
<th>V</th>
<th>S</th>
<th>D</th>
</tr>
samueldr Messages postés 121 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 3 juillet 2005
10 févr. 2005 à 06:47
Héhé, tuzz, ton code pour 'moi' ne fonctionnait pas, il me mettait une boucle infinie...
Mais, j'ai travaillé, je me suis mis les mains dans le code et j'ai fait un semblant de code... c'est TRÈS moche, j'aurais besoin d'aide pour corriger le code pour qu'il soit mieux (en gros, il y a des -1 et des +1) mais, le code fonctionne très bien.
à noter : le code a été retravaillé pour montrer la journé PRÉSENTE en gras ;P

<?php
//Config
$mois = date('n'); //Mois en chiffre
$annee = date('Y'); //Annee en chiffre ( forme YYYY )
//Init en html
echo 'D,
L,
M,
M,
J,
V,
S,

----
';//Affichage des jours dans le tableau
$j = 0; //Initialisation des variables
$i = 1;
while($j<= (date('t',mktime(0,0,0,$mois,1,$annee))+1) ) //boucle
{
echo '';
if($j!=0 && $j-1!=0) {
if ($j-1==date('j')) echo ''.($j-1).'';
else echo $j-1;
}
if($i==date('w',mktime(0,0,0,$mois,$j,$annee))) $j++;
echo ', ';
if($i==0) echo '----
';
$i++;
if($i==7) $i=0;
}
echo '
';
?>

houlala !
cs_tuzz Messages postés 11 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 16 avril 2005
9 févr. 2005 à 10:22
zut il faut aussi cette ligne :
if($i==0) $i=0;
par : if($i==0) $i=7;
cs_tuzz Messages postés 11 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 16 avril 2005
9 févr. 2005 à 10:21
Il faut changer les valeurs de i $<?php
//Config
$mois = 2; //Mois en chiffre
$annee = 2005; //Annee en chiffre ( forme YYYY )
//Init en html
echo 'D,
L,
M,
M,
J,
V,
S,

----
';//Affichage des jours dans le tableau
$j = 0; //Initialisation des variables
$i = 1;
while($j<= date(\"t\",mktime(0,0,0,$mois,1,$annee)) ) //boucle
{
echo '';
if($j!=0) echo $j;
if($i==date("w",mktime(0,0,0,$mois,$j,$annee))) $j++;
echo ', ';
if($i==7) echo '----
';
$i++;
if($i==0) $i=0;
}
echo '
';
?>

Je ne suis pas chez moi , donc je ne peux pas terster mais a priori ça devrait fonctionner ;)
samueldr Messages postés 121 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 3 juillet 2005
9 févr. 2005 à 06:35
errmmm... j'y pense, ça fait depuis que je l'ai essayé (assez longtemps en fait) que je voulais demander quelquechose... lorsqu'on est comme moi, québecois, nos semaines commencent le dimanche. ( D L M M J V S ) pour mettre les noms des jours, je n'ai aucun probleme ;) mais, pour mettre les jours décalés d'un, là je planche... je ne me suis pas replongé dans le code apres avoir vu ça, mais je planchait.

si quelqu'un peut m'aider, ça me ferait plaisir ;)

ou encore, faire le script adaptable pour diverses situations.

Merci :)
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
8 févr. 2005 à 19:08
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
8 févr. 2005 à 18:41
pour les ' firefox n'est pas si nul que ça... (j'irais même jusqu'a dire que c'est le meilleur...)...


Et Mozilla "interprète" selon les versions certaines parties de code php...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 févr. 2005 à 14:20
Ah ben oui tien.

Il n'allait pas au bout dans sa boucle sur $j, on n'avait jamais $j==$t.

Correction :

<?php
//Config
$mois = 2; //Mois en chiffre
$annee = 2005; //Annee en chiffre ( forme YYYY )
//Init en html
echo 'L,
M,
M,
J,
V,
S,
D,

----
';//Affichage des jours dans le tableau
//boucle
$t = date(\"t\",mktime(0,0,0,$mois,1,$annee)); // Nombre de jours dans le mois
$j = 0; //Initialisation des variables
$i = 1;
while($j<=$t)
{
echo '';
if($j!=0) echo $j;
if($i==date("w",mktime(0,0,0,$mois,$j,$annee))) $j++;
echo ', ';
if($i==0) echo '----
';
$i++;
if($i==7) $i=0;
}
echo '
';
?>
itris Messages postés 15 Date d'inscription vendredi 10 octobre 2003 Statut Membre Dernière intervention 23 février 2005
8 févr. 2005 à 13:45
Que de blabla pour un bout de code !!!

Mais quelqu'un aura-t-il le même blême que moi c.-à-d. que le script m'affiche le mois - le dernier jour du mois...

Par exemple pour 02/2005 le mois affiché vas jusqu'au 27 ??? Etonnant non ?

?
RDave Messages postés 30 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 19 novembre 2007
8 févr. 2005 à 11:30
non je parlais de firefox, je croyais que les attributs HTML sans " ne passaient pas, pourtant je viens d'essayer, ca marche... je comprends plus là...

ex
<table width=200 border=1>

ou
<table width="200" border="1">

--> les deux fonctionnent avec IE et firefox
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
8 févr. 2005 à 09:33
-> coucou

plait-il ? ca m'etait destine ca ? Je parlais de php, pas de js, et comme le souligne tuzz, il y a effectivement beaucoup de browsers qui n'interpretent pas php...lol.
Et effectivement, je crois que de plus en plus de browser (IE mis a part, evidemment...) ralent pour les simples quotes. Et ce devrait etre tout le temps le cas si on pretend ecrire en xhtml.
samueldr Messages postés 121 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 3 juillet 2005
8 févr. 2005 à 01:40
>d'ailleurs y me semble que mozilla non plus n'aime pas les
>attributs sans ".
>
>=> parlerais tu de js ?? si tu parles toujours de php, alors
>sache que Mozilla n'interprète pas le php...

non, les attributs html ex : < a href = 'http://www.adresse.com' > je crois que c'est ca son problème ;)
cs_tuzz Messages postés 11 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 16 avril 2005
7 févr. 2005 à 19:01
comme beaucoup d'autres Browser d'ailleurs ^^
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 févr. 2005 à 18:55
d'ailleurs y me semble que mozilla non plus n'aime pas les attributs sans ".


=> parlerais tu de js ?? si tu parles toujours de php, alors sache que Mozilla n'interprète pas le php...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
7 févr. 2005 à 18:06
PHP ne s'optimise pas tout seul vu qu'il est très permissif (de toute façon ça ne change pas grand chose, on peut coder d'une manière qui s'exécutera lentement avec un langage peu permissif). Bref non il faut optimiser tout, même si tu ne l'exécutes qu'une fois, le serveur est soulagé, et même si les gains se comptent en millièmes de secondes, c'est toujours ça de gagné.

a +
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
7 févr. 2005 à 12:44
coucou, Antho -> je ne suis pas certain que ca fasse une enorme difference a moins de travailler sur de bien plus gros volumes que ca. Il y a quelques articles a ce sujet d'ailleurs, ou plutot quelques avis d'experts.
Mais evidemment qu'il vaut toujours mieux optimiser et travailler proprement.
Je dis juste que la primeur doit etre de travailler proprement. Si on travaille proprement, le code sera optimise, pour la simple et bonne raison que c'est aux developpeurs de PHP de faire en sorte que leurs fonctions et la facon de les appeler soit optimisees. Bref...PHP doit s'optimiser tout seul.

Rdave -> rien a dire, lol, suis d'accord.
RDave Messages postés 30 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 19 novembre 2007
6 févr. 2005 à 12:52
malalam

ouais c'est bien vrai tes exemple, d'ailleurs y me semble que mozilla non plus n'aime pas les attributs sans ".

Mais je dis quand meme que, et peut etre que ca aidera ce cher samuel, question simplicité ya des différences llorsque tu utilise des variables :

echo "<table style="border : $border pt solid black">"; --> ici tu balance ta variable facilement au millieu du reste ($border)

echo '<table style="border : '.$border.' pt solid black">'; -> et là tu dois insérer ta var en dehors de la string entre simple quote (sinon elle ne serait pas évaluée, selon mon exemple là-haut), donc tu dois t'amuser avec des . de concatenation et des ' pour fermer et réouvrire ta string. En ce sens, c'est esthetiquement pas plus joli et pas plus simple que la solution avec "

mais en fin de compte je conseil effectivement cette dernière solution, je trouve que c'est moins le bordel et plus facile comprendre, surtout lorsque ta ligne de kode est hyper longue avec plein de var et d'attributs html =)
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
6 févr. 2005 à 12:15
Je confirme, d'ailleurs mieux vaut optimiser tout ce que tu peux, même si le gain est minime, ça compense en partie les lenteurs d'accès à MySQL par exemple...

Utiliser le moins de variables possibles, faire des connexions à MySQL les plus courtes possibles, utiliser echo avec des simples quotes au lieu de print avec des doubles, etc...
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
6 févr. 2005 à 10:41
"et nos codes ne travaillent sans doute jamais sur d'assez gros volumes pour que ce soit significatif"=> tout dépends de ce que tu paelles significatif...


Si t'as 25000 visiteurs par jour, alors ça compte, peu importe la longueur de ton fichier...
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 févr. 2005 à 09:02
RDave ->

oui mais si tu veux "echoer" une variable, tu vas de toutes facons faire :

echo $mavariable;

Donc effectivement, c'est plutot une question de proprete du code (rapidite...c'est tellement minime, et nos codes ne travaillent sans doute jamais sur d'assez gros volumes pour que ce soit significatif).
Exemple tout con pour la proprete :

echo "<table style="border : 1pt solid black">"; -> moche, non ?

echo "<table style='border : 1pt solid black'>"; -> mauvais, en xhtml les attributs doivent etre entre double quotes.

echo '<table style="border : 1pt solid black">'; -> c'est mieux la, non ?


samueldr ->

voui :-) et je ne vois pas ou on pourrait discuter de ca de toutes facons, sur ce site, alors pourquoi pas ici!
samueldr Messages postés 121 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 3 juillet 2005
6 févr. 2005 à 03:37
ermmmm... après avoir lu plein d'articles sur des sites à propos du PHP, je peux dire que ça aide à la vitesse d'éxécution de mettre des ' parce qu'il 'parse' le code différement.

J'en ai déduis que c'est qu'il n'a pas à vérifier si chaque sections de la ligne est une variable.

et... c'est pas hors-sujet ?!?
RDave Messages postés 30 Date d'inscription vendredi 9 avril 2004 Statut Membre Dernière intervention 19 novembre 2007
6 févr. 2005 à 00:26
euh... c'est pas ça la différence ! Lisez l'exemple suivant :

$simple_quote='salut';
$double_quote='salut';

echo '$simple_quote'; // avec des '
echo '
';
echo "$double_quote"; avec des "

------------------
affichera :

$simple_quote
salut

Vous voyez que php interprète les variables qui sont entre " ce qui n'est pas le cas entre '.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 févr. 2005 à 18:56
C'est plus propre (généralement) et plus rapide (tout le temps)
cs_tuzz Messages postés 11 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 16 avril 2005
4 févr. 2005 à 18:36
autre chose tant que j'y suis pourquoi employé plus des ' que des " ?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 févr. 2005 à 18:31
C'est une question de portabilité, <?php fonctionnera sur tous les serveurs, tandis que <? ne fonctionnera pas sur les serveurs où la directive short_open_tags est à Off

bref c'est ça :

<?php

?>

et pas :

<?php

php?>

a +
cs_tuzz Messages postés 11 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 16 avril 2005
4 févr. 2005 à 18:26
excusez pour le php a la fin
mais j'utilise d'habitude les shortcuts ( raccourcis )
donc j'ai pas l'habitude de mettre les php , comme on m'a dit que c'était mieux de pas les utiliser ...
( faudrait qu'on m'explique pourquoi d'ailleurs )
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
4 févr. 2005 à 16:52
Non tu ne te trompes pas ;-)
samueldr Messages postés 121 Date d'inscription samedi 23 août 2003 Statut Membre Dernière intervention 3 juillet 2005
4 févr. 2005 à 01:13
}
echo "</table>";
php?>
¯¯¯¯

Je crois qu'il faut mettre ?> à la fin, pas php?>
Si je me trompes, dites-le moi.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 févr. 2005 à 20:20
Salut,

d'ailleurs quand une variable est égale à un chiffre ne mets pas de quotes.

$variable=3;

par exemple, et pas $variable='3'; ou encore pire $variable="3";

a +
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 févr. 2005 à 17:24
t'as des " qui sont là alors que les ' seraient plus rapides, et des concaténations avec des " c'est débile...
cs_eXon Messages postés 166 Date d'inscription lundi 17 janvier 2005 Statut Membre Dernière intervention 8 avril 2007 1
2 févr. 2005 à 14:13
remplace if($j==$t) $break=1 ; et while($break!=1) par simplement: while($j!=$t). Utilisation des shorts tag (<?) à évité. Utilise plutot <?php.
Rejoignez-nous