Pronostics Paris sportifs Concours
script php

S'enregistrer  |  Rechercher   |  Liste des Membres   |  Annuaire des sites utilisant le script
Connexion |  Se connecter pour vérifier ses messages privés |   Profil


réaction

 
Poster un nouveau sujet   Répondre au sujet    Phpleague Index du Forum -> Réaction

Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
seb
Invité





MessagePosté le: Lun 24 Jan 2005, 11:04    Sujet du message: réaction Répondre en citant

Ce script est trés interressant mais j'ai quelques remarques Wink

Je pense que la partie affichage du classement est à revoir car elle est gourmande en resource et pour pas grand chose.

Je m'explique on reconstruit la table pour afficher le classement à chaque fois qu'on le consulte ce qui prends beaucoups de requêtes (20 environ) et de temps côtè serveur pour l'execution du script plus d'une seconde c'est énorme.

alors qu'il suffirait de générer le classement comme on génére les graphs
à partir de l'admin.
le seul inconvéniant c'est qu'on ne pourra plus afficher le classement de la journée 1 à xx mais est ce que cette option est bien utile?

une autre petite remarque, une requête inutile dans le fichier fonctions.php
dans la fonction db_clmt
au niveau des résultats à domicile il me semble (j'ai pas le fichier sous les yeux)
cette requête est exécutée mais on utilise pas le résultat Wink
de même pour cette fonction on passe 6 ou 7 paramétres alors qu'on en utilise 3 ????
j'ai pas tout regardé encore

Une prochaine version compatible xhtml ça serait pas mal
avec une petite réécriture des fonctions d'affichage en évitant les "echo" à toutes les lignes, en stockant ça dans une variable c'est beaucoup mieux et en fin de script afficher cette variable.
Et pensez à l'optimisation Wink

Sinon bravo trés bon script
Revenir en haut
Alexis
Site Admin


Inscrit le: 08 Avr 2004
Messages: 1113
Localisation: Aix-En-Provence et Firminy (42)

MessagePosté le: Lun 24 Jan 2005, 17:23    Sujet du message: Répondre en citant

Salut,

Très juste, au niveau des classements le script utilise beaucoup de ressources. La fonction db_clmnt sert en fait à générer la table, puis la fonction clmnt affiche le classement.

Lors de la dernière version je n'ai pas vraiment trouvé de solution à ce problème de génération de la table des classements (que je trouvais long déjà...). Je n'ai pas découvert de solution facile pour générer tous les classements : général, domicile, extérieur et en fonctions des journées.

La solution qui me paraîtrait la plus simple à réaliser sans trop chambouler le script serait la suivante. Générer le classement général côté admin (c'est le type de classement le plus consulté par les utilisateurs) et réserver une table pour les autres classements (table équivalente à clmnt actuellement) consultés plus occasionnellement. Ainsi le script utilisera moins de ressources pour le classement général. Il utilisera autant de ressources pour les autres types de classements mais ceux-ci étant utilisés moins fréquemment cela soulagera un peu le serveur.

Merci beaucoup de ces remarques Very Happy . Je suis conscient que le script n'est pas super bien écrit et que des optimisations sont encore possiles. En tout cas c'est en me signalant les défauts et les améliorations du script que PhpLeague évoluera !

J'essayerais de modifier tout ça quand j'aurais le temps, vu le boulot à côté que j'ai je ne vous garanti rien !

Si vous avez d'autres suggestions n'hésitez pas !! Very Happy Very Happy
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur Adresse AIM
seb
Invité





MessagePosté le: Lun 24 Jan 2005, 20:41    Sujet du message: Répondre en citant

Voila je viens de finir la modification des fonctions pour l'affichage du classement avec compte du nombre de requêtes (utilisation d'une class identique à celle de mon site)
en fait c'est chaud coté ressources Shocked
73 requêtes pour l'affichage du classement pour chaque classement
sans compter l'affichage des journées qui se trouve sur la même page.

le plus simple à mon avis c'est de créer 6 tables par championnat (une par style de classement) depuis l'admin car le nombre de tables ne pose aucun problème donc pas de limite de ce coté là
ce qui permettra d'afficher les différents classements avec 2 ou 3 requêtes (donc avec un temps d'execution du script normal) ce qui me parait beaucoup plus raisonnable Smile en plus les modifications au niveau du script ne sont pas trés importantes.

bien sûr on oublie les options de la journée 1 à xx car impossible de les gérer avec un nombre de requêtes raisonnable.

voila mon avis sur ce sujet si ça vous interresse je peux vous tenir au courant
et de plus je pense qu'il faut regarder ce problème de prés 73 requêtes pour une page c'est pas du tout raisonnable Wink
Revenir en haut
seb
Invité





MessagePosté le: Lun 24 Jan 2005, 22:12    Sujet du message: Répondre en citant

en faite rien de compliqué
les informations des différents classements existent déjà dans la table phpl_clmnt donc pas de nouvelle table à créer

dans le fichier fonctions.php dans la fonction clmnt
une petite erreur de codage qui ajoute 20 requêtes inutiles Wink

rechercher et supprimer
Code:
                    $query2="SELECT phpl_equipes.id, phpl_clubs.nom FROM phpl_equipes, phpl_clubs
                    WHERE phpl_clubs.nom='$row[0]'
                          AND phpl_equipes.id_champ='$champ'
                          AND phpl_clubs.id=phpl_equipes.id_club";
                    $result2=mysql_query($query2) or die(mysql_error());;

                                  while($id_equipe=mysql_fetch_array($result2))
                                  {
                                  $id=$id_equipe['id'];
                                  }
                  @mysql_free_result($result2);


cette requête multipliée par le nombre d'équipe récupére l'id de l'équipe
est complétement inutile car on dispose déjà de l'id des équipes (disponnible dans la table 'phpl_clmnt' champ 'ID_EQUIPE' )

aprés modifier cette ligne
Code:
else {echo "<a href=\"detaileq.php?champ=$champ&id_equipe=$id\">$row[$x]</a></b>";}

par
Code:
else {echo "<a href=\"detaileq.php?champ=$champ&id_equipe=".$row['ID_EQUIPE']."\">$row[$x]</a></b>";}


petite remarque au niveau du script utilisez plutot le nom des champs plutot que le numéro du champ bien plus compréhensible à la lecture du script

et modifier cette ligne
Code:
if ($type==GENERAL){echo "<a href=\"#\" onClick=\"window.open('graph.php?equipe=$id','Stats','toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0 ,copyhistory=0,menuBar=0,width=560,height=320');\"><img src=\"graph.gif\" border=\"0\" alt=\"$leg\"></img></a> ";}

par
Code:
if ($type==GENERAL){echo "<a href=\"#\" onClick=\"window.open('graph.php?equipe=".$row['ID_EQUIPE']."','Stats','toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0 ,copyhistory=0,menuBar=0, width=560,height=320');\"><img src=\"graph.gif\" border=\"0\" alt=\"$leg\"></img></a> ";}


pour gagner encore des requêtes maintenant il faut s'attaquer au fichier classement.php
bien sûr comme je vous le disez dans mon message précédent on supprime l'option de la journée 1 à xx donc on plus besoin des variables debut et fin
donc ce n'ai plus la peine de générer le classement à chaque fois

la génération du classement se fera à partir de l'admin
pour cela il suffit juste de rajouter la fonction
@db_clmnt($legende, GENERAL, $accession, $barrage, $relegation, $champ, $debut, $fin);
avec $debut premiére journée et $fin derniére journée

autre petite remarque cette fonction peut être réduit à
db_clmnt($champ, $debut, $fin); car les autres variables ne sont pas utilisées
(si vous faites la modif n'oubliez pas de la faire également dans le fichier fonctions.php)

dans le fichier de génération des graphs comme ça en même temps que la génération des graphs on remplie la table phpl_clmnt
(j'ai pas vérifié si elle n'était pas déjà lancée cette fonction)


aprés il n'y a plus qu' a supprimer
toutes ces fonctions du fichier classement.php
Code:
@db_clmnt($legende, DOMICILE, $accession, $barrage, $relegation, $champ, $debut, $fin );


voila je suis passé avec tout cela de 73 requête à 4 requêtes Wink
temps d'execution php de la page 0.0322 s (avec tout le contour de ma page)
Revenir en haut
seb
Invité





MessagePosté le: Lun 24 Jan 2005, 22:33    Sujet du message: Répondre en citant

j'étais en train de relire mon message

et j'ai vu un petit truc Smile

Code:
if ($type==GENERAL){echo "<a href=\"#\" onClick=\"window.open('graph.php?equipe=".$row['ID_EQUIPE']."','Stats','toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0 ,copyhistory=0,menuBar=0,width=560,height=320');\"><img src=\"graph.gif\" border=\"0\" alt=\"$leg\"></img></a> ";}


petite astuce lorsqu'on ouvre un popup avec une ligne comme celle ci
Code:
onClick=\"window.open('graph.php?equipe=".$row['ID_EQUIPE']."','Stats','toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0 ,copyhistory=0,menuBar=0,width=560,height=320');\"

ajoutez return false; à la fin pour éviter de recharger la page de dérriére
ce qui donne
Code:
onClick=\"window.open('graph.php?equipe=".$row['ID_EQUIPE']."','Stats','toolbar=0,location=0,directories=0,status=0,scrollbars=0,resizable=0 ,copyhistory=0,menuBar=0,width=560,height=320');return false;\"


dans le cas présent avec href="#" on retourne en haut de la page
Revenir en haut
Alexis
Site Admin


Inscrit le: 08 Avr 2004
Messages: 1113
Localisation: Aix-En-Provence et Firminy (42)

MessagePosté le: Sam 12 Fév 2005, 14:28    Sujet du message: Répondre en citant

Salut

Je n'avais pas vu tes deux derniers messages Embarassed

Merci pour ces petites modifs que tu apportes. J'ai enlevé les 20 requêtes superflues et modifié le lien vers les graphs. Cependant pour les classements je vais réfléchir à un moyen pour conserver la possibilité de faire le classement de la journée 1 à x...

Si tu à remarqué d'autres optimisations dis moi ! Merci encore !! Very Happy
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur Adresse AIM
ghost



Inscrit le: 23 Juil 2004
Messages: 335

MessagePosté le: Sam 19 Fév 2005, 17:47    Sujet du message: Répondre en citant

ca serait possible de mettre tourez tes modif avec les fichier ce qui permettrait de pas rechercher et de remplacer juste le fichier.

merci
_________________
http://www.fcbayern-fr.com
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
seb
Invité





MessagePosté le: Lun 07 Mar 2005, 16:51    Sujet du message: Répondre en citant

Désolé je n'ai pas les fichiers modifiés vu que j'ai reécrit toutes les fonctions pour les insérer et les adapter au mieux à mon site et pour que ce soit compatible xhtml strict et consommer le moins de requêtes possibles donc je ne posséde pas de fichier modifié par rapport à l'original.

Et désolé pour cette réponse tardive.
Revenir en haut
Montrer les messages depuis:   


Poster un nouveau sujet   Répondre au sujet    Phpleague Index du Forum -> Réaction

Page 1 sur 1

 
Sauter vers:  


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com

Anti Bot Question MOD - phpBB MOD against Spam Bots
Inscriptions bloquées: 4170
  PhpLeague est un script php sous licence GPL
Partenaire : Barcelona Clan
copyright © PhpLeague - Univert
Hébergement Eurower