Aller au contenu

Bourinho

Hubmaster
  • Compteur de contenus

    338
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Bourinho

  1. En fait, je ne connais pas la priorité dans ce cas de figure... c'est première parenthèse ouverte -> $1 ??? Edit : C'est visiblement ce que tu viens d'expliquer... Prochaine fois, je lirai deux fois!!!
  2. Le seul endroit ou j'ai un doute, c'est sur le $1... J'ai mis des parenthèses autour de ce que tu souhaites mettre en GET... donc cela doit se retrouver dans le $1... mais je ne suis pas tout à fait sur car il y a une autre paire de parenthèses à l'intérieur... A+
  3. Allez, je prends un risque! RewriteRule ^([a-z]+(-[a-z]+){0,3})\.html$ index.php?page=$1 [L] A+ PS : J'avais oublié les '+'...
  4. Salut, Tant mieux si tu as trouvé ton bonheur, moi, ça m'a permis de consolider mes connaissances!!! Tout le monde est gagnant sur le Hub! A+
  5. Salut à tous, C'est vrai...c'est un point de vue qui se défend!!! C'est vrai que pour le "COUNT(*)", je ne sais pas si c'est la façon la plus optimisée...mais si tu veux optimiser, je pense qu'il faut aller jusqu'au bout!!! SELECT count(MATABLE.nom) AS nb, MATABLE.nom FROM matable GROUP BY nom Le fait de préciser de quelle table tu tires le champs "Nom" est plus propre et certainement un chouia plus rapide... en tout cas, cela supportera une eventuelle modification de SQL... A+
  6. Salut, je te conseillerais SELECT COUNT(*) AS Nb, tatable.nom AS Nom FROM tatable GROUP BY Nom HAVING Nb>1 ORDER BY Nb DESC Cela te classera les resultats par nombre d'occurance decroissant (si tu ne veux pas, enleve "ORDER BY Nb DESC") en ne prenant en compte que ceux qui apparaissent plus d'une fois (si tu ne veux pas, enleve "HAVING Nb>1") PS : Je crois que le requete de michmuch te donnera le nombre de Noms differents apparaissant dans ta table...et ce n'est pas ce que j'ai compris en lisant ta question
  7. Et dire qu'avant j'attendais plus de 3 heures à chaque fois que je lançais ce genre de requête... j'en rigole maintenant!!! Je pense que je vais vraiment m'intéresser aux index, car cela ne semble pas très sorcier de bien les choisir et cela permet de soulager grandement le serveur... A+ et encore merci pour tous ces renseignements!
  8. Salut, J'ai lu que les index n'était pas efficace s'il y avait peu de possibilités pour une valeur (dans mon cas, je prendrais l'exemple de CodeRegion : 24 possibilités). C'est "pas efficace" (=perte de temps) ou "moins efficace" (=gain de temps moindre que pour un nombre de possibilités plus élevé!). Je penche pour la seconde solution mais c'était juste pour chipoter... Merci
  9. Salut, J'ai suivi ton conseil pour ce qui est du "EXPLAIN de ma requête". Je lui ai mis ça: EXPLAIN SELECT villesfinales.CodeINSEE AS CodeINSEE, villesfinales.Article AS Article, villesfinales.nom AS Nom, villesfinales.NomComplet AS NomComplet, villesfinales.Departement AS Departement, villesfinales.NumDepartement AS NumDepartement, villesfinales.CodeRegion AS CodeRegion, villesfinales.CodePostal AS CodePostal, villestcd.Latitude AS Latitude, villestcd.Longitude AS Longitude FROM villesfinales LEFT OUTER JOIN villesTCD ON (villesfinales.NomComplet=villestcd.Nom AND villesfinales.CodeRegion=villestcd.CodeRegion) Résultat : id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE villesfinales ALL NULL NULL NULL NULL 36726 1 SIMPLE villesTCD ALL NULL NULL NULL NULL 68003 Ca ne ressemble pas à une optimisation de table!!! Ensuite, tu soulèves une piste qui me parait fort intéressant...celle des index!!! Ne sachant pas l'utilité de cela, j'en ai mis nulle part... (A part une clé primaire sur les Codes INSEE...car ils sont censés être uniques!). Alors, je pense qu'en effet, mes tables sont loins d'être optimisées, mais je ne sais pas du tout quoi mettre en index ne sachant pas ce que cela change pour MySQL quand il tombe dessus! Par avance, merci! PS : J'ai lu que cela permettait de créer un arbre équilibré pour accélérer les recherches... Ca doit donc être bien utile dans mon cas en effet... (Pour info, j'ai mis un index sur le Nom des villes mais pas sur CodeRegion (seulement 24 possibilités...). Je vous en dirai plus demain car je vais lancer cette requête demain pour la journée! En fait, je viens de la lancer... et je comprends l'intérêt des index désormais!!!! ça a mis 6 secondes au lieu de plus de 3 heures!!! Merci à tous! (je crois que je vais m'intéresser de prêt à ces index!!!!)
  10. Salut à tous, J'ai essayé de faire ça en deux requêtes... mais la seconde, je l'ai faite avec un "where" ou j'ai casé un "IS NOT EXIST" et ça rend le processus encore plus lent! Et sinon, quant à faire cela à la main, je dois vous avouer que c'était la première fois que j'utilisais une jointure externe, donc je ne pouvais pas savoir que cela prendrait autant de temps . Mais, la prochaine fois, je me poserai la question de savoir si j'ai un film à matter... Si c'est le cas, je laisse le PC chauffer pendant le OUTER JOIN, sinon je le fais à la main Encore merci, A+
  11. Bonjour à tous, Merci pour vos reponses... Mais il y a un truc qui me chagrine... une requete avec LEFT OUTER JOIN met beaucoup plus de temps qu'une requete avec une jointure naturelle!!! Alors qu'il n'y a pas tant de différences que ça...enfin dans mon cas... Avec une jointure naturelle, la requete nécessite quelques secondes en étant large... Avec la jointure externe, elle met plus d'une heure! Alors que cette jointure ne me donne que 11 entrées supplémentaires par rapport à la jointure naturelle!!! (sur plus de 36.000) Vous avez une idée d'ou cela peut venir? A+
  12. Salut, Mon problème est le suivant : J'ai deux tables SQL table1 et table2. La table1 contient tous les codes INSEE des villes que je souhaite enregistrer ainsi que les noms de ces memes villes. La table2 contient une correspondance entre le code INSEE et le code postal mais cette correspondance est incomplete... Si je fais une jointure entre ces deux tables, je perds des données de la table1... Alors, ce que je voudrais pouvoir faire, c'est insérer les codes postaux dans ma table1 à partir de la table2... sans perdre les données de la table1 (si la correspondance n'est pas disponible dans la table2, je mets le code postal à NULL) Si je fais un jointure, ça ne fonctionne pas (je perds les données de la table1) Avec un UPDATE, faudrait que je fasse une boucle sur la table1 (36684 entrées...)...enfin, je dis "faudrait", mais c'est ce que mes connaissances de MySQL me disent Enfin bref, j'y arrive pas! Si je n'ai pas été assez clair, n'hésitez pas à me le faire savoir! Par avance, merci! PS : Je crois avoir trouver une piste avec la jointure externe!!!
  13. Salut, pour les champs textes, je pense qu'il suffit de faire un truc du genre: <input type='text' name='nomduchamp' value=''/> et pour les autres <option value=LaValeur selected='selected' >CeKeTuSouhaites </option> Tout ça te permet de choisir ce qui apparait dans le formulaire lors du chargement de la page! En espérant avoir répondu à ta question...
  14. Merci captain!!! Pour l'instant, ça ne fait pas ce que je veux, mais ça vient de moi A+
  15. Bonjour à tous, Je suis actuellement à la recherche d'un fichier des villes de France mais je n'arrive pas à la trouver... Alors j'ai entrepris de croiser les différents fichiers que j'ai trouvé sur la toile... Voici le script php que j'ai écrit : <?php include('connexion.php'); $query='SELECT villes.IdVille AS IdVille, villes.article AS Article, villes.nom AS Nom, villes.NumDepartement AS NumDepartement, villes1.CodePostal AS CodePostal, villes1.Latitude AS Latitude, villes1.Longitude AS Longitude FROM villes, villes1 WHERE ((villes.Article IS NOT NULL) AND ((villes.Article||villes.nom=villes1.nom) OR (villes.Article||\' \'||villes.nom=villes1.nom))) OR ((villes.Article IS NULL) AND (villes.nom=villes1.nom)) ORDER BY IdVille'; $query2=mysql_query("INSERT INTO VillesFinales SELECT * FROM ($query) AS Req") or die(mysql_error()); ?> (Ce n'est qu'une première version...je nettoierais cette table par la suite...) Et mon navigateur préféré me renvoit dans les roses avec Fatal error: Maximum execution time of 30 seconds exceeded in c:\program files\easyphp1-8\www\monsite\villlintout.php on line 15 Visiblement, je lui en demande trop... Vous avez une idée pour contourner ce problème??? Par avance, merci!
  16. Rebonjour à tous, Euh, bah ouais, à ce que je cherchais... Maintenant, j'en veux plus!!! Je cherche une base de données des villes de france contenant : _Nom _Code Postal _Latitude _Longitude J'en avais trouvé une mais il se trouve qu'elle était "vérolée"... beaucoup de villes les unes sur les autres au point 0,0 (qui ne se trouve pas en France en plus!!!) Alors si jamais vous en aviez une sous le coude! Par avance, merci!
  17. Salut à tous, il me semble que Google a grossi pour l'hiver (je suis en Nouvelle Zélande ), pour la requete 'a', Google découvre environ 23 660 000 000 pages... Après je ne sais pas ce que Google entend par "environ"... A+
  18. Salut, A mon avis y aura un probleme de doublon dans l'affichage entre ce que tu souhaiteras afficher suite au onRightClick() et le menu qui sera affiche par le navigateur... et il me semble que se sera celui du navigateur qui sera au dessus du tien... Apres, si ce probleme peut etre resolu, je pense que cela devrait etre faisable en recuperant les coordonnees de la souris au moment du onClickRight()... A+
  19. Salut a toi, d'autres idees en vrac : _creer un forum ou les gens peuvent echanger -des points de vue. -des idees. -des facons de voir les choses. Je dois t'avouer que c'est peut-etre un peu vague... En fait, je pense que tu t'es completement trompe de forum... il suffit d'un peu de logique pour s'en rendre compte : Tu es sur un forum de WEBMASTER, ce qui signifie que la majorite d'entre nous sait comment creer un site Internet (ou ceux qui ne le savent pas encore comme moi viennent chercher ici des infos pour devenir capables de monter un site web...). Donc si l'un d'entre nous a une idee interessante (ou en tout cas, s'il pense que ce projet peut etre porteur), je pense qu'il ne te la donnera pas, un point c'est tout!!! Je pense que certaines des personnes qui ont repondu a ton message y sont allees un peu fort, mais tu peux peut-etre trouver ton bonheur parmi les idees proposees... A+ PS : Un autre sujet qui pourrait se reveler dans l'air du temps, la pollution due aux insectes... en commencant peut-etre avec l'etude de la quantite de gaz a effet de serre resultant des nombreux pets de mouche...
  20. Salut, bon, bah pour le coup, la solution de captain_torche me parait plus intéressante que la mienne... je ne savais pas que cette fonction existait... très intéressant!!! A+
  21. Salut, A mon avis, si tu acceptes de faire deux requêtes, ta solution semble la bonne. On va imaginer que tu ne vas faire qu'une requête. Le résultat de cette requête devra comporter tous les champs nécessaires à l'affichage de ta page. Une solution consisterait à rechercher tous les resultats (pas uniquement les 10 premiers) et ensuite calculer la taille du tableau que tu peux obtenir à partir de ta requête. Le problème de cette solution, c'est que tu vas prendre beaucoup plus d'informations que tu en as besoin pour au final ne pas les utiliser!!! Certes, tu fais une seule requête... mais quelle requête!!! Perso, je pense que la solution à deux requêtes est plus intéressante car plus claire et plus logique (et peut-être plus rapide). Ensuite, tu peux faire un test sous PHPMyAdmin en regardant le temps d'éxécution. Mais attention, ce qui peut être efficace pour une base de données peut être totalement inadaptée pour une autre. A+
  22. Salut, Je ne te promet rien, mais y a un truc qui m'etonne, c'est que tu n'echappes pas les metacaracteres... Peut etre un truc du style : eregi("<\!\[CDATA\[(.*)\]\]>", $chaine, $tab); En tout cas, je pense qu'il s'agit de la piste a suivre A+
  23. Salut, je te donnes une piste avant d'aller me coucher pour tenter le coup du Group By... y a qu'a s'arranger pour faire un group by sur l'ID du joueur... étant donné que cela ne bouge pas... mais ça me parait bizarre...j'espère qu'il va y avoir des pros du SQL pour nous éclairer la dessus!!! A+
  24. Salut, tu viens donc de découvrir le "codebox"... mais faut le faire en cliquant sur Editer juste en dessous de ton message!!! (au lieu de Citation!!!) A+
  25. Salut, je n'ai pas la réponse à ta question mais il y a des trucs qui me plaisent pas du tout dans ton code... 1) mysql_select_db($database_ConnexionScore, $ConnexionScore); Tu n'est pas obligé de te reconnecter à chaque fois à ta base de données... Une fois suffit.... 2) $reponse=mysql_query($queryDerniereLigne); $Resultat=mysql_query($queryDerniereLigne) or die(mysql_error()); Euh... j'ai beau cherché, je vois pas à quoi ça sert! Tu n'utilises jamais $Resultat par la suite, alors fait donc : $reponse=mysql_query($queryDerniereLigne) or die(mysql_error()); Voilà...Sinon, je vois pas trop d'où vient l'erreur... Est ce que cela marche avec uniquement: $queryDerniereLigne = "SELECT SUM(table1.NbMatchs) AS NbMatchs, SUM(table1.NbVictoires) AS NbVictoires, SUM(table1.NbDefaites) AS NbDefaites, SUM(table1.NbNuls) AS NbNuls FROM ($query) AS table1"; A+
×
×
  • Créer...