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

    inserimento "a capo" in paginazione

    ho gia una paginazione del sito funzionante, che genera pagina cosi:

    1 2 3 4 5 6 7 8 9

    per un mio errore debbo inserire un "a capo" nella paginazione del mio sito. es:

    1 2 3
    4 5 6
    7 8 9

    come si puo' fare?

    vi posto il codice che funziona ora e fa la normale paginazione:

    Codice PHP:
    mysql_connect("localhost""root""password") or die("Connessione fallita !");
    mysql_select_db("paginazione") or die("Selezione del DB fallita !");

    $count mysql_query("SELECT COUNT(id) FROM nome_tabella");
    $res_count mysql_fetch_row($count);

    $tot_records $res_count[0];

    $per_page 20;

    $tot_pages ceil($tot_records $per_page);

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

    $primo = ($current_page 1) * $per_page;

    echo 
    "<div align=\"center\">\n<table>\n";

    $query_limit mysql_query("SELECT id, nome FROM nome_tabella LIMIT $primo$per_page");
    while(
    $results mysql_fetch_array($query_limit)) {
    echo 
    " <tr>\n <td>";
    echo 
    "<a href=\"page.php?id=" $results['id'] . "\">" $results['nome'] . "</a>
    "
    ;
    echo 
    "</td>\n </tr>\n";
    }

    include(
    "paginazione_1.php");

    echo 
    " <tr>\n <td height=\"50\" valign=\"bottom\" align=\"center\">$paginazione</td>\n";
    echo 
    " </tr>\n</table>\n</div>";
    mysql_close(); 
    x include di paginazione1 questo il codice di paginazione1:
    Codice PHP:
    $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 .= "]"
    GRAZIE 1000 VOLTE X CHI MI RISOLVE STO GRANDE PROBLEMA!!!

  2. #2
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    può darsi che dica una fesseria , ma :

    se tu riempissi una variabile contatore all'interno di dove crei il link, e con un if la valorizzi con
    ad ogni 3. Se ha contato 3 si valorizza con 'a capo' altrimenti rimane vuota e non fa nulla!

    potrebbe funzionare...

  3. #3
    intendi cosi x la variabile?!

    $br = "
    ";

    non so creare if...cosi complesse poi all'interno dei cicli...
    sono un pivellino in programmazione...
    comunque x primo dove si mettono le mod. al code...nel ciclo di paginazione1 penso...
    quindi come dicevi tu bisogna creare una variabile contatore,
    puoi postare il code...

  4. #4
    Se non mi aiuta nessuno non so' proprio dove chiedere aiuto!!

  5. #5
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    il
    in html va solo a capo...
    ù
    tu dovresti fare una cosa del genere ...

    Codice PHP:
    foreach ($array as $nome_file){ // ciclo l'array per tutta la sua lunghezza
        
    if ( $nome_file == ".." || $nome_file == ".")  { //escludo le cartelle che iniziano con i punti
            
    continue ;
        }
        if (
    $nome_file == "Thumbs.db"){ //escludo il .db
      
    continue;
    }
    $i += 1;
    $path_file "$base_dir"."$nome_file"
    $aprofile fopen($path_file"r"); 
    $pesantezza filesize($path_file); 
    $tipo filetype($path_file);  //determino il tipo di file, dir, jpg etc...
    //$leggofile = fread($aprofile, $pesantezza);
    $titolo $nome_file;
    if (
    $tipo == "dir"){ //qui comincia la condizione , se tipo è uguale a dir
        
    $pesantezza disk_total_space($path_file); //inserisco lo spazio in kb della cartella
        
    $aprolink "<a href=\"elenco.php?integra=$nome_file\">";//Inserisco il link al nome della cartella
        
    $chiudolink ="</a>";
    }else{ 
    //altrimenti non inserisco nulla 
        
    $aprolink="";  
        
    $chiudolink="";
    }
    //stampo i risultati 
    echo "<tr><td>$i</td><td>" $aprolink "" $nome_file "" $chiudolink "</td><td>$pesantezza</td><td>$tipo</td></tr>"

    }
    echo 
    "</table>";
    fclose($aprofile);//chiudo file
    closedir($aprodir);//chiudo directory 

  6. #6
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    scusa, ho sbagliato post, prima di risp berrò il caffè lo giuro

    tu hoi la parte della paginazione che è questa :

    Codice PHP:

    $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 .= "]"
    hai un for che incrementa di uno ogni volta...
    ora possiedi all'interno del ciclo
    [CODE]
    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    [CODE]
    che ti stampa i numeri da 1 a n pagine
    ora potresti mettere un contatore ... ossia una variabile $count++ nel tuo ciclo.
    questa variabile cicla essendo all'interno del for; quando $i sarà a 3 lei possiede il valore 3...
    ricordati di settarla fuori dal ciclo a 0.
    successivamente (subito sotto al for) inserisci una condizione dicendo che :
    se la variabile è multiplo di 3 ossia riporta 0 come resto setti una variabile con

    altrimenti la lasci vuota!

    questa puo essere una tecnica!

    spero di essermi spiegato

    scusate ancora per prima , ma mi ero appena alzato dal letto ed ero in fase di preparazione , la prossima volta aattivo il cervello prima di rispondere

  7. #7
    Grazie tapu x il tuo aiuto, io non so molto di programmazzione, ma piano piano inparo...
    quindi ti chiedo cosi intendi?

    $paginazione = "Pagine totali: " . $tot_pages . "
    [";

    $count = "3";

    for ($i = 1; $i <= $tot_pages; $i++) {

    if ($currentcount = 0; $currentcount <= $count; $currentcount++) { $paginazione .= $i . " ";

    }

    ielsef($i == $currentcount ) {
    ;

    }

    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";

    }

    }
    $paginazione .= "]";

    Ho provato cosi e non e' giusto...

  8. #8
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    questa è la prima parte della paginazione, il calcolo di come devono essere impostati i valori
    Codice PHP:
    //-->recuperi tramite querystring il numero della pagina
    $pag $_GET['pag'];
    //-->se la pagina non è valorizzata
    if (!isse($pag)){
    //--> la setti a 1
    $pag=1;
    }
    //-->conti le righe che sono presenti nel database, le stesse che stamperai a video nella tabella
    $count mysql_query("SELECT COUNT(id) FROM nome_tabella");$res_count mysql_fetch_row($count);
    //<--
    $tot_records $res_count[0];
    //-->inserisci in una variabile il numero di pagine che vuoi visualizzare ogni volta
    $per_page 20;
    <--
    //-->esegui il calcolo per le pagine totali che avrai
    $tot_pages ceil($tot_records $per_page);
    //<--
    //-->selezioni la pagina corrente nel quale sei
    $current_page = (!$_GET['page']) ? : (int)$_GET['page'];
    <--
    //-->inserisci nella variabile il primo valore del LIMIT
    $primo = ($current_page 1) * $per_page
    questa è l'aultima parte, ossia quella dei link
    Codice PHP:
    //-->stampi a video il numero delle pagine totali
    $paginazione "Pagine totali: " $tot_pages "
    ["
    ;
    //ciclo per il numero delle pagine totali
    for($i 1$i <= $tot_pages$i++) {
    //se la pagina corrente è uguale al valore dell'incrementatore i
    if($i == $current_page) {
    //rendi il numero non cliccabile (se vuoi puoi cambiiarli colore etc...)
    $paginazione .= $i " ";
    } else {
    //altrimenti crei il link per andate alla pagina successiva
    $paginazione .= "<a href=\"?pag=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    }
    }
    $paginazione .= "]"
    ora , tu hai bisogno che ogni volta che il ciclo errettua 3 giri vada a capo...
    quindi se i = 3 carichi una variabili $acapo=
    e la imposti a fianco del link...
    ma come possiamo ? la i vrà valore 3 una volta sola.
    Mi viene in mente di usare il resto...
    4/3 da resto sarà circa 1.x
    6/3 da resto 0
    9/3 da resto 0
    10/3 daraà resto 3.x
    Ora non so come sia la funzione per il resto in
    potresti fare una cosa del genere :
    Codice PHP:
    $variabile=3;
    $acapo="";
    //ciclo per il numero delle pagine totali
    for($i 1$i <= $tot_pages$i++) {
    //-->crei il modulo resto se non erro si fa con %
    $resto $i%$variabile;
    if (
    $resto == 0){
    $acapo "
    "
    ;
    }else{
    $acapo="";
    }
    //se la pagina corrente è uguale al valore dell'incrementatore i
    if($i == $current_page) {
    //rendi il numero non cliccabile (se vuoi puoi cambiiarli colore etc...)
    $paginazione .= $i " ";
    } else {
    //altrimenti crei il link per andate alla pagina successiva
    $paginazione .= "<a href=\"url_della_pagina?pag=$i\" title=\"Vai alla pagina $i\">$i</a>$acapo
    }

    spero sia corretto , ma il ragionamento ci può stare

  9. #9
    ho provato cosi:
    $paginazione = "Pagine totali: " . $tot_pages . "
    [";
    $countpartenza = "0"
    $count = "3";
    $count2 = "6";
    for ($i = 1; $i <= $tot_pages; $i++) {
    for ($countpartenza2 = 1; <= $countpartenza; $countpartenza2;++) {
    if ($countpartenza2 != $i)
    { "
    ";
    }
    $paginazione .= "<a href=\"?page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    }
    }
    $paginazione .= "]";

    comunque ho pensato 1 cosa...se racchiudo la 'paginazione' all'interno di una tabella;
    ed impostando la misura del 'width' es:
    <table width="80%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <th scope="col">QUI PAGINAZIONE</th>
    </tr>
    </table>
    impostando il widht della tabella...la paginazione arrivata in fondo dovrebbe andare a capo...

  10. #10
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    scusa , ma :
    tu hai settato queste variabili :
    $countpartenza = "0"
    $count = "3";
    $count2 = "6";

    1) i punti e virgola alla fine di ogni dichiarazione , assegnazione etc...
    2)se metti le "" o '' stai inserendo delle stringhe quindi le tue variabili in questo modo non sono numeri

    for ($countpartenza2 = 1; <= $countpartenza; $countpartenza2;++) {

    1)$countpartenza2 = 1: ok , hai settato una variabile ad 1 (questa volta numerico)
    2); <= $countpartenza: che è? minore-uguale a che cosa? al massimo avresti dovuto scrivere
    $countpartenza2 <= $countpartenza
    ma anche cosi sarebbe stato sbagliato.
    $countpartenza = "0" è una stringa. Tu sai contare fino a 5 ma non fino ad S quindi sai contare fino a 0 non fino a "0"
    3) $countpartenza2;++ anche qui errore, il ; non deve esistere...
    la forma corretta del for potrebbe essere questa

    $countpartenza = 0;
    for ($countpartenza2 = 1; $countpartenza2<= $countpartenza; $countpartenza2++) {
    m anche qui ci sarebbe qualcosa di errato ...
    questo ciclo non partirebbe mai ...
    tu parti da 1 e il ciclo si ferma quando $countpartenza2 è <= a zero
    quindi non lo vede nemmeno.

    per il width è una questione grafica.

    se tu lo imposti ad un vlore che tu vuoi non vai a contare n record ma non li fai semplicemente visualizzare.
    e poi ? per visualizzare gli altri record?

    il codice della paginazione lo trovi nelle guide di questo sito...ma prima ti consiglio di dare uno sguardo a questa guida
    se non sai usare la base nn andare avanti, altrimenti ti troverai di fronte a mille difficoltà!

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.