Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Aiuto paginazione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    25

    Aiuto paginazione

    Ciao a tutti,

    Sto realizzando un motore di ricerca riguardante una libreria.
    tutto fsta andando alla meraviglia a parte questo: non riesco a presentare i risultati delle ricerche
    usando la tecnica della paginazione.
    In breve ecco come è strutturato lo script.

    1) Innanzitutto raccolgo i dati dal form di ricerca :
    codice:
    $titolo= $_POST["titolo"];
    $anno= $_POST["anno"];
    $codice= $_POST["codice"];
    2) Dopodichè lancio la prima query e calcolo i valori di LIMIT:
    codice:
    $ricerca = mysql_query("select * from catalogo where anno='$anno' OR codice='$codice'")
    or die(mysql_error());
    $num_records = mysql_num_rows($ricerca);
    $lim2 = 5;
    $tot_pagine = ceil($num_records / $lim2);
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
    $lim1 = ($current_page - 1) * $lim2;
    3) A questo punto lancio la seconda query e lo script di paginazione:
    codice:
    $impaginato = mysql_query("select * from catalogo where anno='$anno' OR codice='$codice' LIMIT $lim1, $lim2")
    or die(mysql_error());
    while($row = mysql_fetch_array($impaginato)) {
    echo $row['titolo'].$row['anno']."
    ";
    }
    $paginazione = "Pagine totali: " .$tot_pagine. "[";
    for($i = 1; $i <= $tot_pagine; $i++) {
    if($i == $current_page) {
    $paginazione .= $i . " ";
    } else {
    $paginazione .= "$i ";
    }
    }
    $paginazione .= "]";
    echo $paginazione;
    Il problema è che funziona tutto finchè rimango nella prima pagina, ma non appena clicco sul link di accesso
    alla seconda pagina (che dovrebbe visualizzare la seconda serie di risultati), non appare più nulla.
    Ho provato a inserire dei valori fissi in sostituzione del $_POST:
    codice:
    $titolo= "Libro uno";
    $anno= "1998";
    $codice= "book_01";
    e in questo caso tutto funziona alla meraviglia.
    Quindi penso che il problema stia nel fatto che lo script non riesce a tenere in memoria i valori contenuti
    in $_POST.

    Qualcuno sa aiutarmi? Grazie anticipatamente.

  2. #2
    è ovvio che $_POST non mantiene i valori se passi ad un'altra pagina senza rispedire le informazioni tramite POST.

    Nel tuo caso potresti usare o le sessione dove vai a salvare i valori ricevuti tramite POST in modo da averli in tutte le pagine successive, oppure potresti accodarli agli URL che mandano alle altre pagine e richiamarli tramite $_GET nelle pagine seguenti.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    25
    Ti ringrazio spoon25.
    Sì l'avevo intuito anche dando un'occhiata a discussioni analoghe sul forum.
    Purtroppo in nessuna di esse ho trovato la risposta "completa" e visto che mi sono avvicinato da poco a PHP, non riesco a capire esattamente cosa dove e come inserire le informazioni.
    Io propenderei per l'utilizzo delle sessioni, e avrei davvero bisogno che qualcuno mi guidasse quasi passo passo.

    Ringrazio anticipatamente tutti.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2000
    Messaggi
    25
    P.S.
    Forse sto chiedendo troppo: magari lo script da aggiungere è chilometrico (non ne ho idea! Ripeto, sono alle prime armi).
    Se è così mi basterebbe almeno sapere dove inserire le variabili di sessione e come fare a recuperarle.

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.