Visualizzazione risultati 1 fino 7 di 7

Discussione: PHP/MySql - Risultati eccessivi per una query divisi in pagine

  1. #1
    Guest

    Predefinito PHP/MySql - Risultati eccessivi per una query divisi in pagine

    Ciao!
    Ho un altro problema con "i risultati" di una query :)
    Ho risolto quelli quando risultati=0
    Ora però mi servirebbe rimediare a quelli in cui i risultati sono un numero eccessivo e vorrei quindi disporli in paginate :)

    Ad esempio se facendo una ricerca escono 50 risultati, che vengano divisi in due pagine da 25. E' possibile?

    Ciaooooo!

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Prova a guardare qui.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    E' grave se non ho capito come riadattarlo al mio script? XD

  4. #4
    Guest

    Predefinito

    Guarda questa funzione: http://debug.altervista.org/articoli.php?id=1
    Prova ad applicarla al tuo script, dovresti riuscirci senza troppi problemi, anche perchè è tutto spiegato; se ne dovessi avere posta pure.


    Ciaoooo!!!

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da debug
    Guarda questa funzione: http://debug.altervista.org/articoli.php?id=1
    Prova ad applicarla al tuo script, dovresti riuscirci senza troppi problemi, anche perchè è tutto spiegato; se ne dovessi avere posta pure.


    Ciaoooo!!!



    Non c'ho capito molto, nel senso che con lo scipt "finale" comunque non mi da niente e non capisco dove/come modificarlo. Credo che forse è il caso se rinuncio in partenza

  6. #6
    Guest

    Predefinito

    Mai rinunciare! ;)
    Quella è una funzione bell'e pronta, ti basta passare gli argomenti in questo modo:

    Funzione:
    Codice PHP:
    paginazione($record_tot,$record_per_pag,$max_link,$url_link){
    global
    $pag;
    if(
    $record_tot<=$record_per_pag){ $pagine=" <b>1</b> "; }else{
    $pagine_totali=ceil($record_tot/$record_per_pag);
    $i_start=floor(($max_link-1)/2);
    $i_end=ceil(($max_link-1)/2);
    if(
    $pag<($max_link-$i_end)){
    $page_end=$max_link;
    }else{
    $page_end=$pag+$i_end;
    }
    if(
    $page_end>$pagine_totali){
    $page_start=($pagine_totali-$max_link)+1;
    }else{
    $page_start=$pag-$i_start;
    }
    if(
    $pag>1 && $page_start>1){
    $pagine="<a href=\"$url_link&amp;pag=1\" title=\"Vai a pagina 1\">[&laquo;]</a> ... ";
    }else{
    $pagine=" ";
    }
    for(
    $p=$page_start;$p<=$page_end;$p++){
    if(
    $p<=0 || $p>$pagine_totali){
    }else{
    if(
    $p==$pag){
    $pagine.="<b>$pag</b> ";
    }else{
    $pagine.="<a href=\"$url_link&amp;pag=$p\" title=\"Vai a pagina $p\">$p</a> ";
    }
    }
    }
    if(
    $pag==$pagine_totali || $page_end>($pagine_totali-1)){
    $pagine.="";
    }else{
    $pagine.="... <a href=\"$url_link&amp;pag=$pagine_totali\" title=\"Vai a pagina $pagine_totali\">[&raquo;]</a>";
    }
    }
    return
    $pagine;
    }
    Richiama la funzione:
    Codice PHP:
    paginazione(50,25,3,"pagina.php");
    Dove pagina.php è la pagina in cui stai visualizzando i record (puoi aggiugnere anche una query string personalizzata, per esempio pagina.php?var1=valore1&var2=valore2).


    Ciaoooooo!!!!!!!

  7. #7
    Guest

    Predefinito

    Debug non mi odiare, ma non ho capito :D

    Codice PHP:

    <?
    session_start
    ();
    include (
    "config.inc.php");

    ?>
    <link rel="stylesheet" href="../stile.css" type="text/css">
    <title></title>
    <style>
    a:link {font-size: 11px;font-weight: bold; color : black;text-decoration : none;}
    a:visited {font-size:11px;font-weight: bold;color : black;text-decoration : none;}
    a:hover {font-size: 11px;font-weight: bold;color : 800000;text-decoration : none;}


    .table1 {
    background: #87B1C7;
    color:#000000;
    font-family: Verdana;
    font-size: 11px;
    border: 1px #000000 Solid;
    border-bottom-color: #5E8193;
    border-left-color: #CCE6F2:
    border-right-color: #5E8193;
    border-top-color: #CCE6F2;
    }

    .table2 {
    background: #B4D1E0;
    color:#000000;
    font-family: Verdana;
    font-size: 11px;
    border: 1px #000000 Solid;
    border-bottom-color: #5E8193;
    border-left-color: #CCE6F2;
    border-right-color: #5E8193;
    border-top-color: #CCE6F2;
    }

    .tabella3 {
    background: #B4D1E0;
    color:#000000;
    font-family: Verdana;
    font-size: 10px;
    border: 1px #000000 Solid;
    border-bottom-color: #5E8193;
    border-left-color: #CCE6F2;
    border-right-color: #5E8193;
    border-top-color: #CCE6F2;
    }
    </style>

    <body bgcolor=B4D1E0 leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
    <div align="center">
    <table width=95% border=0 cellspacing=0 cellpadding=0>
    <tr><td>
    <table class="table2" width=100% border=0 cellspacing=0 cellpadding=0>
    <tr>
    <td align="center" class="table2" colspan=2 height=15>Cucciolo</td>
    <td align="center" class="table2" height=15>Età</td>
    <td align="center" class="table2" height=15>Razza</td>
    </tr>

    <?PHP
    if( !isset($_GET['campo']) )
    {
    $_GET['campo'] = 'nome';//Setta quello di default
    }

    if( !isset(
    $_GET['order']) )
    {
    $_GET['order'] = 'ASC';//setta quello di default
    }

    $_GET['campo'] = addslashes($_GET['campo']);
    $_GET['order'] = addslashes($_GET['order']);

    $sqlonline = "SELECT CUCCIOLI.CUCCIOLO, CUCCIOLI.ETA, CUCCIOLI.RAZZA FROM CUCCIOLI WHERE CUCCIOLI LIKE '%' ORDER BY {$_GET['campo']} {$_GET['order']}";
    $conteggio = mysql_query($sqlonline,$connessione) or die(mysql_error());



    $CONTA = 0;

    while(
    $ROW3 = mysql_fetch_array($conteggio))
    {
    $CUCCIOLO=$ROW3["CUCCIOLO"];
    $ETA=$ROW3["ETA"];
    $RAZZA=$ROW3["RAZZA"];


    $num++;
    }

    $CONTA += 1; // Aggiunta *
    $APPLICA_COLORE = (($CONTA % 2) > 0) ? "class='table1'" : "";// Aggiunta *
    ?>



    <tr <?=$APPLICA_COLORE?>>
    <td class="BlackL"><?=$num?>.<td height=20 class="BlackB"><?=$CUCCIOLO?></td>
    <td height=20 class="BlackB" align="center"><?=$ETA?></td>
    <td height=20 class="BlackL" align="center"><?=$RAZZA?>
    </td>
    </tr>
    <?
    //}
    // Ho commentato la parentesi qui sopra perché non chiude niente.
    @mysql_close ($connessione);
    ?>
    </table></td>
    </tr>

    </table>
    </body>

    Se dovessi farlo qui, mi basta copia/incollare il tuo codice, no.. vero?

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •