Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    Paginazione dei risultati di una ricerca

    Ciao a tutti.
    Ho realizzato un motore di ricerca per le news inserite nel mio sito e vorrei che i risultati si impaginassero seguendo una desc limit di 10 in 10. A fare l'impaginazione per la visualizzazione classica della lista di news non ho problemi ma per quella che risulta dalla query di ricerca (composta da più variabili a seconda dei parametri impostati dall'utente) non so proprio cosa inventarmi.
    Ho provato un modo con il quale apro la pagina dei risultati, che vengono suddivisi in pagine di 10 in 10, ma i link a ogni pagina devono passare come variabile la query composta dalla ricerca.
    Poi al refresh della dei risultati con i nuovi step per le pagine (le altre 10 news) ho imposto che se è stata passata una query nell'indirizzo allora viene utilizzata quella e lo script può leggere la stessa query che aveva nella pagina precedente ma con un desc limit diverso. Questo perchè la pagina dei risultati non ha una query fissa ma varia a seconda dei paramentri impostati.
    Anche se non ho terminato di provarlo il modo sopra potrebbe anche funzoinare ma la query passata come variabile non è proprio il caso di usarla visto che verrebbe visualizzata nell'indirizzo del link alle pagine successive.

    Come posso fare?

  2. #2
    http://www.guidoz.it/paging.rar

    vedi se ti è utile questa funzioncina semplice semplice


  3. #3
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Non ho capito granché del sistema che usi, ma comunque la query in querystring è da evitare assolutamente. Mettila in sessione.

  4. #4
    Grazie del bel script ma il problema persiste anche con quello.

    Provo a rispiegarmi visto che rileggendo ciò che ho scritto faccio fatica addirittura io a capire
    Il motore di ricerca crea una query che è generata dinamicamente a seconda dei parametri di ricerca impostati dall'utente che cerca una news. Quindi la pagina di ricerca non contiene la query "già fatta", non vedo come potrebbe.
    Quando la pagian è caricata per la prima volta la query funziona e mostra i primi 10 risultati. Come faccio a passare alla pagina 2 mantenendo la stessa query? Come la passo?
    L'unica è quella di passare di nuovo anche i parametri di ricerca, vero?

  5. #5
    la funzione dovrebbe farlo... propaga la querystring alle pagine successive...

    leggi qui e vedi se capisci quel che voglio dire...
    http://forum.guidoz.it/viewtopic.php?t=451

    altrimenti posta un po' di codice

  6. #6
    A cavolo... ci hai ragione...

    Ma una roba "più facilmente implementabile"? Ineserire sto scriptone al posto del mio perchè non trovo come passare una stringa mi pare un po' drastica come soluzione.
    Il codice he ho ora restituisce la query in una variabile (embè) $sql... se riuscissi a passarla alla pagina successiva senza passare per l'indirizzo...
    scusate la testardagine.

  7. #7
    tutto sta a generare i link alle pagine successive appendendo in querystring i parametri ricevuti...

    la mia funzione è allungata un po' dal codice che genera il menu' alle pagine successive.. perchè è flessibile..

    puoi usare la funzione mia o scopiazzare il meccanismo con cui apependo la querystring.. vedi te

  8. #8
    Si grazie.
    E scusa, non intendevo assolutamente portare offesa al tuo scrit definendolo uno "scriptone". Cmq ache io appendo la querystring, mi limiterò quindi a ripassare ai parametri alle pagine successive.
    Che discussione intuile che si è rivelata alla fine... scusate il disturbo.

  9. #9
    [QUOTE]Originariamente inviato da Edward Becket
    Si grazie.
    E scusa, non intendevo assolutamente portare offesa al tuo scrit definendolo uno "scriptone".
    [QUOTE]

    no figurati.. non lodicevo per quello.. è che poteva essere più sintetica se semplicemente avessi stampato i link a tutte lae pagine... invece 2/3 della funzione sono if in cascata per determinare l'intervallo di link da stampare... capisco che la visione di tanto codice possa spaventarti..
    Cmq ache io appendo la querystring, mi limiterò quindi a ripassare ai parametri alle pagine successive.
    Che discussione intuile che si è rivelata alla fine... scusate il disturbo.
    mica è inutile..
    Se serve a chiarire le idee è sempre utile..

    Ti consiglio di farti anche tu una funzione se non vuoi usare la mia.. è tutto + flessibile

    la propagazione della querystring io la faccio semplicemente appendendo in una stringa tutte le coppie chiave/valore che ricevo in GET...
    Codice PHP:
    $querystring '';
        foreach(
    $_GET as $k => $v)
         {
          if (
    $k != 'pag')
            {
              
    $querystring .= "&".$k."=".$v;
           }
         } 
    non propago chiaramente "pag" che deve cambiare in base alla pagina richiesta

    chiaramente puoi fare la stessa cosa anche se devi usare il metodo post.. solo che invece di appendere in querystring dovrai farti un form invisibile.. ma questo ti serve chiaramente solo se devi inviare variabili il cui valore può sforare i 256caratteri...


  10. #10
    Grazie ancora ^_^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.