pblm de lien php avec un include - PHP - Programmation
Marsh Posté le 04-07-2006 à 20:23:57
Salut,
Tu t'embête un peu. Evite les IF car au bout d'un moment tu auras un temps d'excution qui sera de l'ordre de quelques secondes.
Voici ce que je te conseil. Dans un premier temps, fais tes liens comme ceci :
index.php?page=1
index.php?page=2
...
index.php?page=N
N étant un nombre
Ensuite dans ta page index.php, tu traite ton information comme ceci:
Code :
|
Voila j'espère t'avoir aidé.
PS : J'ai pas testé
PS2 : Y'a des solutions meilleurs que des includes. Mais ca tu l'apprendras avec le temps et l'expérience.
Marsh Posté le 04-07-2006 à 20:24:55
T'aider à quoi ?
Déjà on include pas directement avec le résultat d'une méthode POST ou GET.
Tu prends la doc et tu regardes switch avec case et break.
Marsh Posté le 04-07-2006 à 20:28:41
Qui c'est qui t'as déconseillé ? looool Ca c'est la meilleur de l'année !
Marsh Posté le 04-07-2006 à 20:31:50
On aurait du te déconseiller de faire cette école (enfin si école il y a). Sinon, il faut pas croire tout ce que les newb racontent sur les forums hein.
switch est tout simplement la méthode la plus rapide, bien plus rapide que if. (et aussi la plus sûr vu que normalement, il y a un default à la fin).
Marsh Posté le 04-07-2006 à 20:36:39
je dirais aussi que c est la plus propre
dans un autre topic on a vu deux fois 5 ou 6 if imbriqués
Marsh Posté le 04-07-2006 à 21:28:20
Solution alternative si vraiment tu es alergique aux 'switch' (mais bon comme signale plus haut ca n'a jamais tuer personne un switch):
Code :
|
Marsh Posté le 04-07-2006 à 22:05:01
Elle vraiment pas jolie ta solution Woutcha, vraiment pas. Ca fait "torchon". Désolé si mes mots sont crus.
Marsh Posté le 05-07-2006 à 11:08:38
AlphaZone a écrit : Elle n'est vraiment pas jolie ta solution Woutcha, vraiment pas. Ca fait "torchon". Désolé si mes mots sont crus. |
Desole mais une affirmation sans argumentation n'a aucune valeur.
Que ca te plaise ou non ma solution est correcte du point de vu syntaxique et logique, et avoir la liste des pages sous forme de tableau
est beaucoup plus elegant qu'un enorme switch...
Bref je garde mon "torchon" en attendant une vrai argumentation de ta part...
Marsh Posté le 05-07-2006 à 11:18:35
Désolé pour la grammaire.
J'aimerais bien que tu m'explique quel est l'interêt de passer en paramètre des chaines de caractères ?
D'un point de vu syntaxe, c'est correct, CERTE ! Mais d'un point de vue pratique, ca vaut rien du tout. Tu crois qu'un tableau c'est plus élégant qu'un switch ? laisse moi rire !
On n'est pas la pour parler d'élégance mais d'optimisation et c'est surement pas avec un tableau que ca sera plus rapide.
Tu ne crois pas que c'est bien plus rapide de saisir un nombre que des caractères ?
Supposons que tu renomme ta page X.php (X étant un nom au hasard), tu vas devoir modifier tous tes liens. C'est balo quand même alors que qu'avec un simple numérique, le problème ne se serait pas posé.
J'espère que mon argumentation a été à la hauteur de tes espérences
Sur ce, @ bon entendeur.
Marsh Posté le 05-07-2006 à 11:20:56
AlphaZone a écrit : Désolé pour la grammaire. |
je te conseille de relire son code et de revoir ton argumentation ...
Ou as-tu vu qu'il passait des chaines de caractères?
Il récupère l'index de la page demandé en get, puis la page associée dans le tableau!
Marsh Posté le 05-07-2006 à 11:22:00
anapajari a écrit : je te conseille de relire son code et de revoir ton argumentation ... |
Je crois que c'est toi qui à mal lu son code.
A bon entendeur aussi
PS : j'ai édité mon message entre temps. Désolé
Marsh Posté le 05-07-2006 à 11:42:08
AlphaZone a écrit : Désolé pour la grammaire. |
Ou as-tu vu des chaines de caracteres en parametres ????? RELIS mon code, j'utilise des index NUMERIQUES.
"On n'est pas la pour parler d'élégance mais d'optimisation et c'est surement pas avec un tableau que ca sera plus rapide."
Exemple theorique:
Imagine le tableau suivant : $liste_pages = array('page1', 'page2', ..., 'page100')
et le switch suivant :
Code :
|
quelle solution sera la plus rapide pour afficher 'page100'?
Le switch avec $un_numero = 100 ou print $liste_pages[99]?
Je n'ai pas teste mais je parie sur le tableau perso...
Marsh Posté le 05-07-2006 à 11:48:35
Rah, ca me fait mal de l'avouer mais j'ai eu tord sur toute la ligne. Erf.
Honte à moi
Marsh Posté le 05-07-2006 à 11:50:53
super des warriors de la micro optimisation
chacun sa methode et le temps d execution n est pas un critere valide pour differencier deux fonctions en php
Marsh Posté le 05-07-2006 à 11:53:57
AlphaZone a écrit : Je crois que c'est toi qui à mal lu son code. |
Nan nan je confirme ce que je disais, c'est toi qui a mal lu, comme le re-souligne woutcha y'a pas de chaines passées en paramètres!
AlphaZone a écrit : Tu crois qu'un tableau c'est plus élégant qu'un switch ? laisse moi rire ! |
Avant de lancer ce genre d'affirmation le minimum c'est de vérifier ces propos au moins
Premier script t.php avec des switch
Code :
|
Deuxième t2.php avec un tableau
Code :
|
Résultat:
SRVTEST ~ # php t.php |
La solution avec le tableau est 3 fois plus rapide
Marsh Posté le 05-07-2006 à 11:55:58
Ouai bon ca va, j'me suis planté dans mes propos. J'étais persuadé qu'il passait des chaines de caractères. N'en rajoutez pas, please
Marsh Posté le 05-07-2006 à 12:00:00
on a gagné un centieme de seconde sur 20 000 itérations c est genial
Marsh Posté le 05-07-2006 à 12:04:07
AlphaZone a écrit : Rah, ca me fait mal de l'avouer mais j'ai eu tord sur toute la ligne. Erf. |
No problemo... et puis tout cela est reste tres courtois.
Marsh Posté le 05-07-2006 à 12:33:01
mwoué, faut prendre aussi en compte la lisibilité et le debugging éventuel.
switch est un très bon compromis, sans doute le meilleur.
Marsh Posté le 05-07-2006 à 12:48:25
Hermes le Messager a écrit : mwoué, faut prendre aussi en compte la lisibilité et le debugging éventuel. |
je plussoie cette intervention pleine de sagesse
Marsh Posté le 05-07-2006 à 12:58:46
identification numérique, array, isset donne
Code :
|
Sous la condition que le nombre de fichiers à inclure ne change pas souvent cette solution est excellente.
PS: il ne faut jamais laisser à l'utilisateur la possibilite de choisir ses includes
Marsh Posté le 05-07-2006 à 13:27:09
mIRROR a écrit : on a gagné un centieme de seconde sur 20 000 itérations c est genial |
J'ai jamais dit que c'était intéressant, je voulais juste montrer que l'argument "c'est surement pas avec un tableau que ca sera plus rapide. " était tout caca.
Hermes le Messager a écrit : mwoué, faut prendre aussi en compte la lisibilité et le debugging éventuel. |
Switch est même pas un compromis, c'est effectivement la meilleur solution en terme de lisibilité!
Et de toute façon si on se retrouve avec un switch ne serait-ce que 100 élements, pour moi c'est qu'il y a un problème quelque part ...
Marsh Posté le 05-07-2006 à 13:38:32
anapajari a écrit : J'ai jamais dit que c'était intéressant, je voulais juste montrer que l'argument "c'est surement pas avec un tableau que ca sera plus rapide. " était tout caca. |
j avais bien compris ton role d arbitre
c est la petite gueguerre contre la missante µs qui me fait hurler de rire
anapajari a écrit : si on se retrouve avec un switch ne serait-ce que 100 élements, pour moi c'est qu'il y a un problème quelque part ... |
et pas un petit
Marsh Posté le 05-07-2006 à 13:51:04
ReplyMarsh Posté le 05-07-2006 à 14:20:09
anapajari a écrit : Switch est même pas un compromis, c'est effectivement la meilleur solution en terme de lisibilité! |
Clairement.
Marsh Posté le 05-07-2006 à 16:11:28
mIRROR a écrit : je dirais aussi que c est la plus propre |
Y'a pas a dire, tes 6 posts sur ce topic brillent par leur interet et leur pertinence.
Merci de nous faire partager ta connaissance du php...
Marsh Posté le 05-07-2006 à 16:43:14
Woutcha a écrit : Y'a pas a dire, tes 6 posts sur ce topic brillent par leur interet et leur pertinence. |
il dit quoi le mongol ?
alphazone a repondu a la question des le debut
donc tous tes posts sont inutiles si tu le prends comme ca
et tu m excuseras si tu n y trouves aucune pertinence
j assume t inquiete pas
vous etiez adorables tous les deux a vous battre pour des microsecondes
Marsh Posté le 05-07-2006 à 16:57:08
mIRROR a écrit : |
Ne te sens pas oblige d'etre insultant pour te defendre...
Moi je vois juste que sur tes 6 posts il y a pas 1 ligne de php et surtout 3 posts qui se veulent "pseudo-ironique" a propos
de micro-optimisation alors qu'il n'en a jamais ete question dans mes messagess ou ceux d'anapajari...
A bon entendeur...
Edit en reponse au post en dessous : Ne parle pas de ma pseudo-science sinon je vais me sentir obliger de parler de ton pseudo-humour
Marsh Posté le 05-07-2006 à 17:03:43
pas une insulte juste une replique de film
mais bon s il te faut absoluuuuuuuuuuuuuument que je mette du code php pour que mon post ait un interet
foreach ($my_post as $wtf) :
if($interet_de_ton_code == false) {
$wtf = set_mybouche_closed(true);
exit();
}
endforeach;
a part etaler ta pseudo science tu n as que peu aidé l auteur de ce topic qui avait deja recu sa reponse
sinon je viens de changer les piles de mon sonotone j entends super bien
merci de t en inquieter
Marsh Posté le 04-07-2006 à 20:17:51
c quoi cette horreur ?