Colorer les résultats de recherche

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Colorer les résultats de recherche

par DocType » 17 nov. 2006, 18:55

Le problème, c'est que c'est un tout. Entre un code totalement bourrin et un code totalement optimisé c'est le jour et la nuit...
Les personnes qui ne font pas gaffe à l'optimisation en fgénéral ne le font pas que pour une fonction. Donc c'est l'ensemble des requêtes et fonctions qui sont longues. Une fois tout cela ajouté, là on ressent les conséquences :wink:

par Ryle » 17 nov. 2006, 17:12

C'est loin de les déprécier, je suis entièrement d'accord avec toi :) Ce que je veux dire c'est que 30% ça parait énorme, mais c'est juste un pourcentage. Il faut donc le relativiser et le ramener à la dimension à laquelle il est appliqué... 1/3 de pas grand chose, c'est pas bien grand non plus ;)

A mon sens, le gain sur ce point (au delà du fait qu'il soit toujours bon à prendre ;)) est négligeable en dessous d'un certain seuil, et que ce seuil est quand même assez loin :
En supposant que cette instruction soit répétée 100 fois sur sa page, avec 1000 utilisateurs chargeant la page simultanément, on est à 100.000 itération et donc 0,34 sec ... ça laisse quand même de la marge avant d'être ressenti :)

Et je pense qu'il y a généralement bon nombre d'éléments pouvant être optimisés significativement dans le reste du code, avant que celui-ci n'influe vraiment sur les performances :) Mais je partage ton point de vue sur l'importance de l'optimisation (pis de toute façon, j'utilise les apostrophes aussi ;))

par DocType » 17 nov. 2006, 13:42

Excellente initiative, LHDN ! =D>

Peux-tu tester aussi avec :
echo 'valeur :' , $variable;
echo "valeur :" , $variable;
:!: C'est une virgule de juxtaposition, par un point de concaténation.
Je n'ai aucune gloire à avoir car cela ne vient pas de moi ^^
Depuis quelques temps j'étudie ça, et vu que l'on a parlé avec Rasmus au forum PHP, d'optimisations...
Ca vient du site http://www.vulgarisation-informatique.c ... er-php.php

Je compte bientôt faire un script de comparaison, où tu entre ton code à comparer, et où il te ressort les temps de génération. Et Ryle, je ne veux pas déprecier tes propos, mais l'optimisation est la clef de tout...
1/3 de puissance de gagnée c'est énorme. Multiplie cela par le nombre de personnes et de fois que le script est executé... :roll:

par albat » 17 nov. 2006, 13:16

Excellente initiative, LHDN ! =D>

Peux-tu tester aussi avec :
echo 'valeur :' , $variable;
echo "valeur :" , $variable;
:!: C'est une virgule de juxtaposition, par un point de concaténation.

par Ryle » 17 nov. 2006, 13:11

Quan on voit que son script est en fait une boucle, imagines avec une centaine d'utilisateurs... ça ferait 1/3 de ressources en moins d'utilisées :wink:
Voouuaaiiis... c'est effectivement plus rapide et donc mieux (bien que ça, on en doutait pas ;)), mais ça reste quand même assez infime pour 100.000 itérations...
En supposant (espérant ?) qu'il ajoutera un LIMIT à sa requête sql bien avant qu'il ait quelques 100.000 enregistrement à afficher, je pense que même avec une centaine d'utilisateurs simultanés, ça ne fera que des tiers de milisecondes de gagné (ce qui est toujours bon à prendre, on est d'accord, mais sans être fondamentalement significatif non plus :))
Le zozio a raison ! ;)
J'vais me la garder en signature celle là ! ;)

par DocType » 17 nov. 2006, 13:02

Image

Quan on voit que son script est en fait une boucle, imagine avec une centaine d'utilisateurs... ça ferait 1/3 de ressources en moins d'utilisées :wink:

par albat » 17 nov. 2006, 12:37

Le zozio a raison ! ;)

par Ryle » 17 nov. 2006, 12:28

C'est bien là ce que je souhaitais dire (mais mal formulé). Quand on voit la différence de rapidité, on comprend quelle méthode est la meilleure :wink:
Il y a vraiment une différence significative de temps d'exécution entre les deux ? (qui ne s'exprime pas en micro secondes :))

Personnellement j'opte également pour sortir les variables des chaines texte, d'une part parce que j'ai des habitudes java, d'autre part parce qu'avec la coloration syntaxique, ca permet de mieux les voir, et puis surtout parce que je préfère avoir des guillemets autour de mes attributs html et ne supporte pas de surcharger le code avec des antislash... du coup mes chaines sont entourées d'apostrophes et j'ai pas d'autre choix que de sortir mes variables ;)

par albat » 17 nov. 2006, 12:27

Chic, chic, une querelle de méticuleurs de mouches ! :lol:

Ma contribution :
Ce n'est pas parce que
"<font color='#ff0000'>$keywords</font>"
fonctionne, que c'est correct.
C'est opérationnel, mais incorrect. C'est une tolérance.

La syntaxe à utiliser est :
"<font color='#ff0000'>".$keywords."</font>"
Sauf que la balise <font> est completly deprecated... ;) :-*

par DocType » 17 nov. 2006, 11:54

C'est bien là ce que je souhaitais dire (mais mal formulé). Quand on voit la différence de rapidité, on comprend quelle méthode est la meilleure :wink:

par zeus » 17 nov. 2006, 10:33

2.
"<font color='#ff0000'>$keywords</font>",
n'est pas correct
"<font color='#ff0000'>".$keywords."s</font>", 
est mieux
Juste une petite précision :oops:
"<font color='#ff0000'>$keywords</font>"
est correct, sera correctement interprété par le parseur PHP mais, effectivement, je trouve qu'il est mieux d'écrire
"<font color='#ff0000'>".$keywords."s</font>" 

par DocType » 17 nov. 2006, 09:21

1. tu essaies de remplacer les éléments d'un tableau et non pas d'une chaine de caractères, normal que cela ne fonctionne pas.

2.
"<font color='#ff0000'>$keywords</font>",
n'est pas correct
"<font color='#ff0000'>".$keywords."s</font>", 
est mieux

3. oublie pas de définir $keywords

par auclairp » 17 nov. 2006, 01:49

Essayer comme ceci aussi
<?
$resultat1 = ereg_replace($keywords, "<font color='#ff0000'>$keywords</font>", $resultat);
	while ($rows=mysql_fetch_array($resultat1))
	{
	?>
Là, plus de résultat, comme si la bdd était vide, mais la page s'affiche, il n'y a pas d'erreur d'affiché

par auclairp » 17 nov. 2006, 01:46

En voici un que j'ai essayer, résultat, il remplace tout par des A et même pas en rouge
<?
while ($rows1=mysql_fetch_array($resultat))
	$rows = ereg_replace($keywords, "<font color='#ff0000'>$keywords</font>", $rows1); 
	{  
?>
J'ai mis juste la partie pour allèger la page d'ici

par DocType » 17 nov. 2006, 00:49

Envoi ton code modifié... :roll: