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 :

Afficher des News en séquence et SQL


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Février 2010
    Messages
    277
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 277
    Par défaut Afficher des News en séquence et SQL
    Bonsoir,

    Je suis confronté au problème suivant.

    J'ai une page de news et je veux afficher ces news par lot de 5 ou 6 news par page. Mais je ne sais pas comment faire.

    En base de données j'ai mes news, chacune identifié par un un id (clé primaire). Pour récupérer ces news, les 5 dernières, par exemple, je fait une requête SQL comme par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM news ORDER BY id_post DESC LIMIT 5
    Comme ca j'ai les 5 dernières news. Mais si je veux afficher un lin qui pointent vers les autres news. Des news moins fraiches. Comment faire ? J'ai pensé a faire un script qui prends en paramètre les choses suivantes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monScript.php?id_start=10&id_end=15
    Comme ca je peux faire la requête SQL suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM news WHERE id_news>10 AND id_news<15 ORDER BY id_news
    Mais l'inconvénient, est que si on a, entre temps, supprimé des news dans ta table des news, la requêtes SQL peut renvoyer un nombre inférieur a 5 news. C'est dommage.

    Pour pallier a cela j'ai pensé passer les paramètres suivant au script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    monScript.php?id_start=10&number_of_news=5 ORDER BY id_news
    On fait donc la requêtes SQL suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM news WHERE id_news>10 LIMIT 5 ORDER BY id_news
    Ca doit marcher. Est-ce que ca marche ?

    Ma question est: Est-ce que c'est-ce que c'est la bonne façon de faire ? Il y a t-il mieux ?

    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    La clause LIMIT peut prendre deux paramètres.
    Celui que tu n'utilises pas actuellement est justement la position de découpage.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. Réponses: 0
    Dernier message: 04/08/2011, 20h57
  2. [SQL] afficher des données dans formulaire
    Par super-java dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/10/2007, 13h56
  3. Réponses: 5
    Dernier message: 06/02/2007, 13h46
  4. Réponses: 17
    Dernier message: 22/09/2006, 17h34
  5. Afficher des tables en SQL
    Par medinfo dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 04/04/2006, 10h14

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