Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1

    Problemi paginazione dati

    Ciao ragazzi, ho un problema con la paginazione dei dati, ho seguito la guida http://php.html.it/articoli/leggi/85...one-di-dati/1/
    avevo anche già provato a usare questa guida e non avevo avuto problemi, adesso invece ho questo problema: mi calcola le pagine, mi mette i link, ma quando clicco sulla seconda pagina non mi fa vedere i risultati della query ma stampa quello che ho nell'else cioè ' nessun risultato prova a cambiare i criteri di ricerca ': il codice è questo:
    vini.php:

    function mostra_vini(){
    global $miaconn,$id;

    $tipo='tutti'; if (isset($_POST['tipo'])){$tipo=$_POST['tipo'];}
    $regione='tutti'; if (isset($_POST['l1'])){$regione=$_POST['l1'];}

    // esecuzione prima query
    $count = mysql_query("SELECT COUNT(vino_id) FROM vino");
    $res_count = mysql_fetch_row($count);
    // numero totale di records
    $tot_records = $res_count[0];
    // risultati per pagina(secondo parametro di LIMIT)
    $per_page = 10;
    // numero totale di pagine
    $tot_pages = ceil($tot_records / $per_page);
    // pagina corrente
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];
    // primo parametro di LIMIT
    $primo = ($current_page - 1) * $per_page;
    $output.="<div align=\"center\">\n<table>\n";

    $sql='SELECT *,nomeregione FROM vino INNER JOIN regioni ON vino.vino_idregione=regioni.idregione WHERE '.$where.' ORDER BY vino_nome LIMIT '.$primo.','.$per_page;
    $dati=mysql_query($sql,$miaconn);
    if(mysql_num_rows($dati)>0){
    while($array=mysql_fetch_array($dati)){
    $output.=nome tipo regione ecc
    ..}
    // paginazione
    $paginazione = "Pagine totali: " . $tot_pages . "
    [";
    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> ";
    }
    }
    $paginazione .= "]";
    // in questa cella inseriamo la paginazione
    $output.="<tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";


    }
    else{$output.='<tr><td colspan="4" align="center">La ricerca non ha portato risultati, prova a cambiare i criteri di ricerca</td></tr>';}
    $output.='</table>';
    return($output);
    }


    Perchè perdo i dati della ricerca quando passo alla seconda pagina?Grazie Simone

  2. #2
    Mi correggo, qualsiasi tipo di ricerca faccio mi mette sempre 8 pagine di link indipendentemente dal numero dei record, che poi non vanno.

  3. #3
    Se può essere d'aiuto mi da un errore alla linea 27:
    Notice: Undefined index: page in D:\Inetpub\webs\italianbestwineit\vini_italiani2.p hp on line 27

    la riga interessata è questa:
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

    UUUUPPP!!!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    110
    Originariamente inviato da Symon83
    Se può essere d'aiuto mi da un errore alla linea 27:
    Notice: Undefined index: page in D:\Inetpub\webs\italianbestwineit\vini_italiani2.p hp on line 27

    la riga interessata è questa:
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

    UUUUPPP!!!
    Prova a inizializzare GET[page]..
    perchè quella riga signfica se non cè qualcosa in GET_PAGE allora metti 1 se cè metti $GET[page] castato a intero

    prova oppure a togliere il ! o a togliere (int)

  5. #5
    ho provato a otgliere ! e int, l'errore che mi da oltre al precedente è
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Inetpub\.... on line 42

    Da cosa può dipendere?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2008
    Messaggi
    110
    Originariamente inviato da Symon83
    ho provato a otgliere ! e int, l'errore che mi da oltre al precedente è
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\Inetpub\.... on line 42

    Da cosa può dipendere?
    prova o uno o l'altro non insieme..

    prova a lasciare (int). e togli !

  7. #7
    Si scusa, intendevo quello, ho provato tutti e tre i casi, senza !, senza (int), e senza nesusno dei due...

  8. #8
    Originariamente inviato da Symon83
    Se può essere d'aiuto mi da un errore alla linea 27:
    Notice: Undefined index: page in D:\Inetpub\webs\italianbestwineit\vini_italiani2.p hp on line 27

    la riga interessata è questa:
    $current_page = (!$_GET['page']) ? 1 : (int)$_GET['page'];

    UUUUPPP!!!
    Sbagli un paio di cose in questa linea di codice secondo me.

    1. Innanzi tutto, per sapere se una variabile è valorizzata o meno si usa ISSET().
    Per cui:
    Codice PHP:
    (!isset($_GET['page'])) ? $pag $pag $_GET['page']; 
    2. Detto questo, per sapere se la variabile è numerica o meno si usa IS_NUMERIC().
    Codice PHP:
    if(!is_numeric($pag)) {
    echo 
    "Messaggio di errore";
    exit; 
    // blocchi l'esecuzione del resto dello script
    }
    // qui metti il resto dello script 
    Prova se così funziona e poi semmai posta di nuovo.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    Ho fatto le modifiche che mi hai suggerito, non mi da più errore, però continua a stampare 8 pagine e non va alla seconda pagina. Una cosa la sto sbagliando ovvero, la ocndizoine where dovrei metterla nella prima query non enlla seconda se no mi fa il conteggio sempre sul totale per quello mi escono sempre 8 pagine, però comunque non mi fa vedere i dati della seconda anche quando imposto nella ricerca di vedere tutti i risultati ( e quindi sarebbe giusto perchè non entrano in gioco i valori della clausola where). Comincio a sistemare questa cosa, se avete altre idde son ben accette! intanto grazie per l'aiuto!

  10. #10
    Ok ho modificato
    // esecuzione prima query
    $sql='SELECT COUNT(vino_id) FROM vino';

    in

    // esecuzione prima query
    $sql='SELECT COUNT(vino_id) FROM vino INNER JOIN regioni ON vino.vino_idregione=regioni.idregione WHERE '.$where;

    Adesso il conteggio delle pagine me lo fa correttamente, rimane il problema che pasando alla pagina successiva non vedo niente..idee please? 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 © 2024 vBulletin Solutions, Inc. All rights reserved.