IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Mysql - Comptage d'enregistrements à la volée selon des critères


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Mysql - Comptage d'enregistrements à la volée selon des critères
    Bonjour à tous

    Je suis face à un problème d'optimisation de code.

    Je souhaite compter à la volée de manière rapide des enregistrements dans une table Mysql selon des critères.

    Un exemple très concret de ce que je veux faire : seloger.com

    Faite une recherche puis une fois arrivé sur les résultats, vous trouverez dans la partie de gauche une liste de critères dont les petits nombres entre parenthèses sont calculé visiblement à la volée selon les choix de l'utilisateur.

    A votre avis, comment seloger fait il pour générer cela de manière rapide et optimisée?

    Le nombre d'annonces correspondantes aux critères changent à la volée.


    Imaginez que ces chiffres soient inscrits en dur quelque par, il faudrait prévoir des centaines de possibilitées... donc je me dis que c'est géré autrement mais je ne sais pas vraiment comment...

    Si vous avez une idée, je suis preneur

    Merci beaucoup

  2. #2
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut


    Pour faire ce que tu souhaites, il faut que tu utilises Ajax : http://ajax.developpez.com/cours/

    Après, pour compter le nombre d'enregistrement dans ta table selon les critères choisit, il te suffit de construire ton where selon le résultat reçu par ajax...

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Oui je suis d'accord mais sur un site qui ferait 10 000 visiteurs/jours, et une table qui aurait 50 000 enregistrements... J'ai simplement peur de la rapidité d'exécution de cette succession de requêtes de comptage....

    Le but étant d'abord d'optimiser et après d'utiliser un serveur assez puissant.

  4. #4
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    très sincèrement, en ce qui concerne la méthode que je t'ai donné, cela ne te fais qu'une requête... Je ne vois pas comment optimisé plus...

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  5. #5
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    On ne s'est peut etre pas compris

    Ce que je cherche à faire c'est afficher comme sur seloger le nombre d'annonces correspondants à chaque critères.

    Toute ma question/reflexion est là

  6. #6
    Développeuse forum
    Avatar de Atomya Rise
    Femme Profil pro
    Développeuse Web
    Inscrit en
    Février 2009
    Messages
    443
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2009
    Messages : 443
    Points : 1 420
    Points
    1 420
    Par défaut
    Ben c'est bien ce que j'avais comprise ^^

    Et donc, je pense que le mieux est d'utilisé ajax

    Lors d'un clic, tu récupère les cases qui sont coché, tu l'envoies par ajax et donc, établis ta requête selon les critères et pour finir, tu rafraichis la div qui comporte le résultat

    Tu comprends ou tu as besoin d'un exemple ?

    Si un message vous a aidé, pensez à voter positivement pour lui ! Merci
    Pas de question technique en privé
    - Si on criait sur la place publique les fautes de tout le monde, on ne pourrait plus fréquenter personne ! (Marcel Pagnol)
    - Technocrates, c’est les mecs que, quand tu leur poses une question, une fois qu’ils ont fini de répondre, tu comprends plus la question que t’as posée. (Coluche)

  7. #7
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    passer par une table avec des mots clés ou catégories et un compteur que tu mets à jour à chaque fois que tu ajoutes, modifies ou supprimes une annonce ça fera plus de code à l'administration mais une seule requête pour récupérer les résultats, à voire si c'est plus rapide qu'un select count pour chaque critères et je penses que ça l'est...
    Développeur informatique contrarié...

  8. #8
    Nouveau Candidat au Club
    Inscrit en
    Avril 2012
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par Atomya Rise Voir le message
    Ben c'est bien ce que j'avais comprise ^^

    Et donc, je pense que le mieux est d'utilisé ajax

    Lors d'un clic, tu récupère les cases qui sont coché, tu l'envoies par ajax et donc, établis ta requête selon les critères et pour finir, tu rafraichis la div qui comporte le résultat

    Tu comprends ou tu as besoin d'un exemple ?
    Yes c'est d'ailleurs ce que je voulais faire dès le départ mais je me dois de penser rapidité et charge serveur. Je pense que je ferai des test de ontée en charge avec ce type de requete tout de même...


    Vorace, ce que tu dis est juste j'y ai aussi pensé mais il me faut stocker en dur le nombre d'annonce pour chaque possibilité. Dans le cas de Keljob, il faut enregistrer en dur le nombre de cdi pour le secteur Agroalimentaire dans le département 75, le nombre de cdi dans le secteur Agroalimentaire dans le département 78 etc etc, je ne sais pas combien cela fait de possibilités mais on est à quelques milliers sans doute (et encore je ne parle pas des critères salaires, niveau d'étude etc)

  9. #9
    Membre éprouvé Avatar de vorace
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2010
    Messages
    573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2010
    Messages : 573
    Points : 915
    Points
    915
    Par défaut
    non pas en dure, dans une table en bdd et tu auras autant de possibilité que de critères de recherche soit 10 ou 20 à tout casser, mais le mieux c'est que tu postes ton modèle de données que l'on sache de quoi on parle (de patate ou de choux...)
    Développeur informatique contrarié...

Discussions similaires

  1. [C#] Comment sélectionner un item de listview selon des critères
    Par beufreecasse dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/10/2006, 21h34
  2. Requetes selon des critères
    Par Z[ee]k dans le forum Access
    Réponses: 6
    Dernier message: 05/06/2006, 15h06
  3. tableau descriptif de SQL server selon des critères techniq
    Par h.sofia dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 16/02/2006, 17h25
  4. Supprimer des sous-dossiers selon des critères
    Par Dertron dans le forum Autres Logiciels
    Réponses: 2
    Dernier message: 18/01/2006, 15h33
  5. lister des fichiers selon des critères
    Par Corben dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 12
    Dernier message: 18/10/2005, 17h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo