Limiter affichage mysql

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 : Limiter affichage mysql

Re: Limiter affichage mysql

par pjl » 29 mars 2008, 00:24

Mon boulot étant de faire un site où le client pourra (dans sa partie admin) enregistrer ses produits dans 5 rubriques differentes. Ces 5 rubriques correspondant chacune à une table sur la base de donnée mysql comportant les champs nom, reference.... Pour ça aucun problème.
Pas sur qu'il n'y ai aucun problème à ce niveau.
Si demain, une 6eme rubrique est crée, faudra refaire les pages ?
Il n'y aurait pas comme un problème de conception dans la base ?

Limiter affichage mysql

par p0dzeub » 28 mars 2008, 13:24

Ok je vois de quoi tu me parle, mais par contre l'appliquer va être une autre affaire lol

Est ce que te demander une ébauche de tout ça en php serait abuser de ta gentillesse? parceque je débute en php, comprendre le principe ça va mais l'application c'est pas encore ça... J'aurais bien tenté de le faire moi mais je manque de temps, le site doit être terminer le plus rapidement possible :s

j'ai reussi à limiter le nombre d'affichage à 20 par rubrique (jusque là pas difficile, j'ai fait LIMIT 0,20), je pense avoir reussi le test pour savoir le retour ($req=mysql_query("select * from rubrique1"); $nb1=mysql_num_rows($req); $nb1 étant le retour)

En revanche pour le count et pour répartir l'affichage je bloque... :(

Encore merci :)

par Ryle » 28 mars 2008, 13:13

Effectivement, dans ce cas le pourcentage ne fera pas non plus ton affaire. Il te faudrait en fait récupérer les 20 premiers enregistrements de chaque catégories (au cas où les 4 autres puissent être vides), tester le nombre de résultat réellement retournés par chacune, et en afficher plus ou moins en fonction de leurs nombres...

Ceci dit, plutôt que de ramener 5 x 20 enregistrements le jour où elles sont toutes pleines, pour n'en afficher que 20 au final, peut être qu'une requête préalable effectuant un COUNT() te permettrais de savoir à l'avance combien d'enregistrements sont dispobible dans chaque rubrique, de décider en php lesquels afficher et de spécifier le limit correspondant à chaque rubrique :)

Limiter affichage mysql

par p0dzeub » 28 mars 2008, 12:44

Désolé pour l'endoit de mon postage, je ferais plus attention la prochaine fois.

Pour ce qui est de mettre 0,4 dans LIMIT je suis bien daccord, j'avais essayé comme ça dès le début, mais par exemple si j'ai 10 produits dans la rubrique1, 10 dans la rubrique2 et 0 dans les 3 dernières, ça ne m'affichera que les 4 premiers produits de la rubrique1 et les 4 premiers de la rubrique2, d'où mon idée de pourcentage qui je pense n'est pas au point et peut être pas la bonne solution :(

Merci de ton aide :)

par Ryle » 28 mars 2008, 12:34

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "SQL & Bases de données".

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.


Quant à ton problème, il faut commencer par comprendre le fonctionnement de LIMIT.
Il te faut spécifier à partir de quel enregistrement tu veux des résultats (de 0 si tu veux les premiers) et combien tu en veux.

Si ton maximum est 20 pour 5 catégories, ça fait maximum 4 par catégories et donc un "LIMIT 0, 4" pour chaque requête... :)

Limiter affichage mysql

par p0dzeub » 28 mars 2008, 12:26

Bonjour à tous :)

Galérant depuis plusieurs jours sur mon problème, je me suis dis que quelqu'un pourrait peut être m'aider dans mon grand desespoir :'(

Donc j'explique ma situation :
Je suis en stage dans une agence de conseil en communication qui fait des sites web. Mon boulot étant de faire un site où le client pourra (dans sa partie admin) enregistrer ses produits dans 5 rubriques differentes. Ces 5 rubriques correspondant chacune à une table sur la base de donnée mysql comportant les champs nom, reference.... Pour ça aucun problème.

Mon soucis étant que le Boss souhaiterait que l'affichage de ces produits (donc les 5 rubriques sur la meme page) soit limité à 20 produits. J'ai donc pensé que si je mettais un pourcentage dans la requête mysql LIMIT (grace à une variable par ex: $limit = $total * 20/100; sachant que $total = 20), celà allait me faire le bon tris mais non, je suis pas une lumière en maths... lol

Quelqu'un aurait il la gentillesse et la patience de sauver cette pauvre brebis égarée que je suis?
Si besoin est je peux vous copier les bouts de code necessaire, sur le forum ou en mp :)

Merci beaucoup et à bientot =)

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]