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 :

Requête aléatoire et pagination


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut Requête aléatoire et pagination
    Bonjour à tous !

    Voilà je me confronte à un soucis de codage...

    J'ai la mission de coder un site de listing de contenu fait par des membres. Au chargement par le visiteur ce contenu doit être aléatoire.

    J'aimerais pouvoir faire une pagination car le contenu va grandement s'aggrandir sur ce site.

    Problème : La pagination ne renverrais pas les mêmes données à chaque chargement PHP...

    Exemple : Si je charge la page, et aléatoirement les id qui s'affiche sont 10 - 20 - 45 - 90 - 110

    je vais page 2, nouveau chargement, donc encore un rand, et là je tombe sur : 85 - 90 - 45 - 15 - 28

    Donc pas top tout ça...


    Je ne vois pas trop comment utilisé autrement (Il faudrait stocké les résultats de la requête mais quelle solution est la meilleure pour ceci...).
    J'ai également pensé à une pagination Ajax, mais je pense ne pas pourvoir car je recharge dynamiquement le contenu selon les critères du membres (onglet sur la gauche comme le type d'info à chercher...)

    Si quelqu'un à déjà été confronté à ce soucis où s'il a une solution !

    Merci d'avance !

  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 : 54
    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
    Stocke l'ordre de la première requête dans une variable de session et ensuite tu peux réutiliser cet ordre sur toutes les pages liées à cette session.

  3. #3
    Membre confirmé
    Avatar de Nowwis
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2009
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2009
    Messages : 406
    Points : 498
    Points
    498
    Par défaut
    Hum stocker l'ordre, j'avais cette idée, mais au niveau du code...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "SELECT * FROM annonces LIMIT $debut, $nb_element ORDER BY rand()"
    Comment faire pour stocker l'ordre ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    non, la requete initiale se fait sur toutes les annonces, uniquement les id_annonce :
    $requete = "SELECT id_annonce FROM annonces LIMIT $debut, $nb_element ORDER BY rand()";
    -> tu récupères un array des id_annonce.
    -> que tu peux enregistrer dans une session : $_SESSION['list_ids_annonces'] (par exemple)

    -> APRES seulement, à partir de là, tu effectues la pagination ...

  5. #5
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Ou en utilisant le même générateur de nombre aléatoire (cf documentation de rand + cette discussion), ce qui serait certainement plus approprié (à mémoriser - session voir éventuellement autre).

Discussions similaires

  1. [MySQL] Pagination requète aléatoire
    Par tom.dev dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 28/11/2013, 15h17
  2. Résultat requête aléatoire
    Par jmacrez dans le forum SQL
    Réponses: 7
    Dernier message: 03/10/2008, 14h26
  3. Requête aléatoire SQL
    Par calogerogigante dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/05/2008, 10h26
  4. [MySQL] Affichage requête aléatoire paginé
    Par bodysplash007 dans le forum PHP & Base de données
    Réponses: 22
    Dernier message: 22/05/2007, 11h52
  5. Requête dynamique en pagination
    Par pascal_fluck@hotmail.com dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/03/2005, 16h04

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