Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. Risultati random MySQL e paginazione
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • M
      matt86 User • ultima modifica di

      Risultati random MySQL e paginazione

      Ciao ragazzi,
      vi espongo subito il mio problema, in poche parole ho una select del tipo:
      [PHP]
      SELECT * FROM tabella ORDER BY RAND()
      [/PHP]

      e fin qui tutto ok!

      Il problema si presenta quando faccio la paginazione, cioè quando vado a pagina 2 i risultati vengono ripetuti perchè ricaricando la pagina il sistema fa altri risultati random ma include anche quelli di pagina 1.

      Come faccio a risolvere?

      Grazie

      Matt86

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • M
        matt86 User • ultima modifica di

        Ho trovato questo articolo: kb.creativepark.it/kb/entry/11/ secondo quello che ho letto ho fatto così:

        [php]
        srand(make_seed());

        $seed_cookie = isset($_COOKIE['seed']) ? $_COOKIE['seed'] : rand();

        $seed = setcookie ("seed",$seed_cookie,time()+3600);

        $sql = "SELECT * FROM table ORDER BY RAND({$seed})";
        [/php]Ma non funziona, mi fa vedere in tutte le pagine lo stesso risultato della pagina uno. Dove sbaglio?

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • M
          magicale User Attivo • ultima modifica di

          Ciao,

          la query che hai scritto mostra sempre tutti i risultati e non li divide su più pagine. Supponimao che hai due variabili:
          [PHP]
          $pagina_corrente;
          $risultati_per_pagina;
          [/PHP]
          la query è:
          [PHP]
          $sql = "SELECT * FROM table ORDER BY RAND(".$seed.") LIMIT ".(($pagina_corrente-1)*$risultati_per_pagina).",".$risultati_per_pagina;
          [/PHP]

          Alessandro

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • M
            matt86 User • ultima modifica di

            Grazie tante!
            Funziona tutto, sei un grande!

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            Caricamento altri post
            Rispondi
            • Topic risposta
            Effettua l'accesso per rispondere
            • Da Vecchi a Nuovi
            • Da Nuovi a Vecchi
            • Più Voti