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

Langage PHP Discussion :

limiter à 50 messages une boite mail


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2011
    Messages : 88
    Points : 49
    Points
    49
    Par défaut limiter à 50 messages une boite mail
    Bonjour,

    J'utilise le code qui suit pour afficher des messages personnels. Il y a une limite de 20 messages pas pages. Si j'ai 1000 messages j'aurai donc 50 pages, ce qui à la longue peut entrainer du temps au chargement.

    Je voudrais donc limiter l'affichage à 50 messages donc mettre un ORDER BY DESC LIMIT 50, mais je ne sais pas trop ou l'employer.

    Merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    //NOMBRE DE ROWS PAR PAGES
    		define("NB_ROW_PAR_PAGE", 20);
     
    		//COUNT IDmessage de $account pour préparer le calcul des pages
    		$req = mysql_query("SELECT COUNT(IDmessage) AS total FROM `messagerie` WHERE Pour=".$account"");	
    		$row = mysql_fetch_array($req);
    		$num_rows = $row['total'];
    		$nb_pages_total = ceil($num_rows/NB_ROW_PAR_PAGE);
     
    		//CALCUL PAGES ET ROWS
    		if(isset($_GET['page']) AND is_numeric($_GET['page']) AND $_GET['page'] > 0 AND $_GET['page'] <= $nb_pages_total)
    		{
    			$page_num = $_GET['page'];
    			$start_row = $page_num * NB_ROW_PAR_PAGE;
    			$start_row -= NB_ROW_PAR_PAGE;
    		}
    		else
    		{
    			$page_num = 1;
    			$start_row = 0;
    		}
    		$text_limit_query = "LIMIT ".$start_row.", ".NB_ROW_PAR_PAGE."";
    		mysql_free_result($req);
     
    		//SELECT et affichage des messages
    		$req = mysql_query("SELECT tp.Nom Expediteur, tm.*  FROM `compte` tp RIGHT JOIN `messagerie` tm ON tm.De = tp.ID WHERE tm.Pour=".$account" ORDER BY tm.IDmessage DESC $text_limit_query");
    		while($msg = mysql_fetch_assoc($req))
    		{
    			// code
    		}
    		mysql_free_result($req);

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define("NB_ROW_PAR_PAGE", 20);


    En même temps, c'était compliqué : il faut regarder la première ligne
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2011
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    En faite je me suis peut être mal expliqué, je voudrai afficher en tout les 50 derniers messages, pas 50 messages par pages.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Arf... effectivement, j'avais pas compris comme ça !

    Dans ce cas, modifie ce passage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ORDER BY tm.IDmessage DESC
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2011
    Messages : 88
    Points : 49
    Points
    49
    Par défaut
    oui merci, en faite je l'avais déjà fait, mais il se pose un problème, car maintenant j'affiche 50 messages mais le count du 1er select est calculé sur mon total de messages donc j'ai des pages 1-2-3... en doublons.

    Il faudrait dire au 1er SELECT, trouver le total des messages dans une limite de 50 messages, si j'en ai 10, il m'en trouve 10, mais si j'en ai 150 il me trouve les 50 derniers.

Discussions similaires

  1. envoi de formulaire vers une boite mail + message a l'écran
    Par Invité dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 09/05/2011, 20h02
  2. Connection à une boite mail en Java
    Par Versace31 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 03/12/2008, 19h57
  3. Traitement automatisé d'une boite mail
    Par choubiroute dans le forum Modules
    Réponses: 1
    Dernier message: 04/04/2008, 06h27
  4. [Mail] interroger une boite mail
    Par maximenet dans le forum Langage
    Réponses: 3
    Dernier message: 05/07/2006, 11h20
  5. [VBA-O]-Scanner mail sur une boite mail particulière
    Par bonilla dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 29/06/2006, 17h08

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