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

    Vi chiedo un consiglio su una ricerca multipla su database

    Allora in un precedente POST avevo discusso sulla ricerca fulltext o tramite LIKE e alla fine ho deciso per quest'ultima, ora vi faccio l'esempio della mia situazione.
    Ho ad esempio 900 record, divisi nei seguenti campi: id, nome, cognome
    Allora impost la query per cui mi faccia vedere tutti i nomi che iniziano con la A e quindi faccio un banale select nome from tabella where nome like "a%" e fin qua ci siamo, mi spara fuori 120 record ad esempio ma non sono per nulla ordinati e nemmeno limitati.
    Allora diciamo nella query che aggiungiamo ORDER BY nome ASC LIMIT $primo, $per_page";
    $primo e $per_page sono variabili che ho pescato in un esempio posteriore nel forum:
    Codice PHP:
     
      $count 
    mysql_query($query2);
        
    $res_count mysql_fetch_row($count);

        
    // risultati per pagina(secondo parametro di LIMIT)
        
    $per_page 45;

        
    // numero totale di records
        
    $tot_records = (int)$res_count[0];
     
          
    // numero totale di pagine
          
    $tot_pages ceil($tot_records $per_page);



    // pagina corrente
    $current_page = (!$_GET['page']) ? : (int)$_GET['page'];

    // primo parametro di LIMIT
    $primo = ($current_page 1) * $per_page
    la variabile $count è il risultato del conteggio dei risultati della precednete query e fin qua ci siamo. Ora il mio problema è questo e voi mi direte che sono pazzo.

    Ho la pagina visualizza.php che mi fa vedere tutti i record che ho nel database ordinati come si deve tramite il codice che ho postato sopra. All'interno di questa pagina ho incluso la pagina ricerca.inc.php che mi crea ua piccola tabellina dove ho messo un form con campi input e un tasto cerca per eseguire appunto una ricerca un po' più dettagliata, ora questo form lo faccio puntare, una volta premuto il tasto cerca alla pagina visualizzaext.php che alla prima volta che viene eseguita funziona perchè si prende tutti i valori in POST, mentre cliccando sui link risultanti dal codice che ho postato prima non mi si visualiza più nulla perchè ovviamente io le variabili in POST non ci sono più, come posso risolvere questa cosa ? In pratica io dovrei mantenere in una qualche variabile di Sessione la mia variabile $query in modo tale da poter eseguirla tutte le volte che clicco sui link per scrollare le pagine, ho provato con $_SESSION (in locale) e non sono riuscito a farci nulla Qualcuno sa come posso risolvere questo problema o mi sa dare qualche consiglio ?
    P.S scusate se ho scritto male ma ho un mal di testa biblico e è pure tardino, chiedo perdono.
    Grazie

  2. #2
    devi usare le sessioni

    sono semplici da usare
    metti in tutte le pagine
    session_start(); in cima e poi le dichiari come variabili normali

    $_SESSION['nome'] = 'valore';

  3. #3
    Grazie per la risposta, però io ho un problema. In sostanza come ho scritto sopra io ho 3 file php
    un file visualizza.php, al suo interno includo un file ricerca.inc.php che contiene un form con il tasto cerca che una volta premuto mi proietta i risultati verso la pagina visualizzaext.php da cui dovrei leggere i valori passati in POST, questa pagina poi tramite il codice spiegato sopra verrebbe chiamata ricorsivamente per poter sfogliare le pagine di result di una query.
    Al primo caricamento della pagina visualizzaext.php quindi analizzo lo stato delle variabili passate in POST e ne catturo quelle che non sono vuote per andare a comporre tramite vari controlli una query che salvo nella variabile $query.
    Ora la prima volta che viene chiamata la pagina tutto funziona a dovere e la query è perfettamnte funzionante e la salvo nella variabile di sessione $_SESSION['query'] = $query; . La seconda volta ad esempio se voglio sfogliare la seconda pagina della query ricaricando la pagina visualizzaext.php se metto al principio della pagina un echo della variabile $_SESSION['query'] non mi restituisce nulla, quindi dove sbaglio ???
    Ora tu mi hai detto che il session_start() lo devo mettere su ogni pagina, quindi suppongo che lo devo mettere anche in quella inclusa all'interno della pagina principale, oppure sbaglio ? però così facendo non sono due chiamate nelal stessa pagina che causano casino ?????
    Grazie e scusa per la mia poca chiarezza ma non ho il codice davanti e mi risulta difficile spiegarmi bene comunque credo di aver spiegato bene il problema.
    La variabile $_SESSION esiste sempre ?? Ci sono problemi nel suo utilizzo ? Grazie !

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 © 2025 vBulletin Solutions, Inc. All rights reserved.