Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Risultato di query in più pagine bloccato dai controlli

    Devo estrarre un tot imprecisato di record con una query e visualizzarle quindi a 10 per pagina. Fin qui sono riuscito a farcela, ma il problema sorge quando applico dei controlli alle variabili (sono variabili passate da un form, utilizzato quindi nella query).
    Intendo controlli del tipo: if(trim($_POST['nome'])=='')
    Riesce a visualizzarmi correttamente la prima pagina, ma cliccando sul link della seconda pagina mi dà la variabile $nome come vuota e quindi non me la prende più.
    Qualcuno ha un'idea di come posso risolvere il problema? Ho provato in tutti i modi senza soluzione

    Questo è il codice incluso per visualizzare i link alle pagine:
    Codice PHP:
    //risultati per pagina (secondo parametro di LIMIT)
                                
    $per_page=5;
                                
                                
    // 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;
                                                    
                                                    
    //ripetizione della query, ma con LIMIT
                                                    
    $query2 mysql_query("SELECT * FROM PGA WHERE `PGA_Codice Alunno`=$codice AND `PGA_Data` between '$datada' and '$dataa' ORDER BY PGA_Data LIMIT $primo$per_page");

    //Esecuzione della query con estrazione dati e visualizzazione
    include("../paginazione.php");
    echo 
    "<tr><td align='center' nowrap><font color='blue'>$paginazione</font></td></tr>"
    Questo il file paginazione.php incluso:
    Codice PHP:
    $paginazione "Pagine: ";
    for(
    $i=1$i<=$tot_pages$i++) {
    if(
    $i==$current_page) {
    $paginazione .= $i " ";
    } else {
    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    }


  2. #2
    aggiungi i dati che vuoi passare al URL.

    "<a href=\"?page=$i&nome=$_POST[nome]&altro=$altro ... etc...\"

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Niente, mi dà sempre le variabili vuote. Questo è quello che ho scritto:

    Codice PHP:
    $paginazione .= "<a href=\"?page=$i&nome=$_POST[nome]&cognome=$_POST[cognome]&datada=$_POST[datada]&dataa=$_POST[dataa]\" title=\"Vai alla pagina $i\">$i</a> "

  4. #4
    verifica che $_POST non sia vuoto (print_r)

    prova a mettere le graffe....

    "<a href=\"?page=$i&nome={$_POST['nome']}&cognome={$_POST['cognome']}....

    ovviamente nella pagina arriveranno sotto il nome di GET.

    Oppure per queste variabili passate via URL puoi usare $_REQUEST invece di GET/POST senza problemi.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Niente
    Ho messo le parentesi grafe e ho provato con request al posto del get.
    Poi ho stampato $_POST: nella prima pagina, quella dove mi si visualizza bene, ovviamente prende tutte le variabile. Nella seconda, quella linkata, invece è vuoto... Perchè diavolo non lo prende?

    Adesso il mio codice è così:
    Codice PHP:
    $paginazione .= "<a href=\"?page=$i&nome={$_REQUEST['nome']}&cognome={$_REQUEST['cognome']}&datada={$_REQUEST['datada']}&dataa={$_REQUEST['dataa']}\" title=\"Vai alla pagina $i\">$i</a> "
    che sia perchè passandole in questo modo non arrivano sottoforma di $_POST? Il controllo se è vuoto infatti lo fa su $_POST['nome']. Con request come arrivano le variabili?

  6. #6
    mi sa che prendi quello che si suol dire ... una vacca per le palle

    Guarda nella query string dell'URL.... vedi le variabili????

    Se si ... Quelle variabili li le prendi con GET oppure con REQUEST certamente NON con POST.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    già, infatti, direi che le prendo con il GET...
    bella l'espressione, chiarisce tutto
    Ma allora come faccio a fargliele passare come POST la seconda volta? :master:

  8. #8
    Originariamente inviato da Horus-Ra
    già, infatti, direi che le prendo con il GET...
    bella l'espressione, chiarisce tutto
    Ma allora come faccio a fargliele passare come POST la seconda volta? :master:
    e perche vuoi fargliele prendere con POST la seconda volta???? usa GET ... Fai cosi:

    codice:
    $nome = !empty($_POST['nome'])  ?  $_POST['nome']  : $_GET['nome'];
    lo stesso farai con le altre variabili. Oppure usa REQUEST....

    $nome = $_REQUEST['nome'];

    ma REQUEST me piase no. e non lo uso mai.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Sembra che funzioni... andando nella seconda pagina ora mi mostra quello che deve mostrare. Ho lo stesso problema se ritorno poi alla pagina1, ma penso di aver capito come risolverlo. Racchiudo i POST in una variabile e passo quella come get... dovrebbe filare, domani quando torno al lavoro la provo.
    Grazie per l'aiuto, geniale come sempre

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.