• User Attivo

    pagina aventi/pagina indietro

    forse qualcuno ha già posto la questione....ma trovarla tra tutte le domande mi ci vuole un secolo...quindi richiedo aiuto...
    tramite funzione limit ho fatto in modo di suddividire i record di una tabella in più pagine (ho avuto anche qualche aiuto da alcuni script), ma non mi riesce di trovarne uno che mi spieghi come fare ad inserire la possibilità ora di avanzare o retrocedere di pagina...l'unico script che ho trovato non mi funziona...
    grazie per la risposta
    Stefana :arrabbiato:


  • Community Manager

    Ciao Stefana e Benvenuta nel Forum GT.

    Guarda qui:
    http://www.giorgiotave.it/forum/viewtopic.php?t=5174

    Fammi sapere 😉

    :ciauz:


  • User Attivo

    ciao...grazie per la risposta, ma non è ciò che cerco..
    mi spiego meglio:
    da una tabella ho visualizzato tutti i campi ma su pagine differenti es: dalla riga 1 alla 5 in pag.1, dalla 6 alla 10 in pagina 2...e così via...
    a tali argomenti ci arrivo con link diretto...(esempio...cane è linkato alla pagina con i record che parlano del cane), ma sotto ogni pagina devo aggiungere la possibilità di andare avantoi o indietro tra queste pagine sufddivise...
    forse così è un pò più chiare....
    Stefana :vai:


  • User Attivo

    Ciao Stefana.

    Ho il codice che ti serve (penso) però è su un pc a casa,
    se hai pazienza e non ti hanno risposto, stasera metto online una pagina che ho già pronta su un sito con codice e spiegazione e ti passo il link.

    Comunque tranquillo/a non è niente di complicato

    Lo script che ho fatto ti permette di impostare quanti record visualizzare nella pagina poi pensa lui al resto.

    :ciauz:


  • User Attivo

    grazie...posso aspettare


  • Moderatore

    puoi "giocare" con la clausola Limit.

    limit (x, y) sta per limita a y risultati a partire dal valore x

    quindi se vuoi stampare i risultati dal 6 al 10 potresti usare limit (6, 5)

    Calcola poi che pagina 1 parte da 1, pagina 2 da 6, pagina 3 da 11 e così via... se ci fai caso, c'è una funzioncina che ti da il valore a partire dalla pagina:

    x=yn+1 , dove n è il numero di risultati per pagina.


  • User Attivo

    @stefana said:

    grazie...posso aspettare

    Proprio come detto da massy,
    Usando la clausola limit e qualcos'altro di contorno risolvi il problema.

    Ti passso un link:
    [url=http://www.webspazio.it/tutorial_php/visualizzare_risultato_query_con_scorrimento_pagine.php]Visualizzare una query al database dividendola in pagine

    Penso sia questo che cercavi..

    Gli ho messo un pò di codice di contorno per dare un senso alla cosa,
    ma le cose su cui concentrarsi non sono tante.

    :ciauz:


  • User Attivo

    grazie MZ...cercavo questo e cioè come creare i link....solo se mi puoi aiutare anora...
    per questione grafiche questo
    //Stampa i link di navigazione
    echo $first . $prev . $nav . $next . $last;
    ?>
    l'ho racchiuso in una tabella..
    il problema è che ho 7 pagine che vengono visualizzate in ordine verticale con effetto grafico bruttissimo mentre io le vorrei in orizzonate...
    pratica la visualizzazione è cosi:
    1
    2
    inizio fine 3
    4
    5
    6
    7


  • User Attivo

    inizio e fine appaiono logicamente dalla seconda pagina..

    //Stampa i link di navigazione
    echo "<table border='0' align='center' cellpadding='5' cellspacing='0'><tr>";
    echo "<td align='center' valign='middle'>" .$first . "</td>";
    echo "<td align='center' valign='middle'>" .$prev . "</td>";
    echo "<td align='center' valign='middle'>" .$nav . "</td>";
    echo "<td align='center' valign='middle'>" .$next . "</td>";
    echo "<td align='center' valign='middle'>" .$last . "</td>";
    echo "</tr></table>";


  • User Attivo

    mi sono accora che i numeri della pagina appaiono al posto di next e last page


  • User Attivo

    Ciao,

    Non ho capito il problema, lo script come è ora stampa la navigazione nel seguente modo, se ad esempio ho tre pagine:

    1 2 3 [Next] [Last Page]

    Dove la prima pagina non è cliccabile, perchè è la pagina corrente le altre sono tutte linkbili.

    Se clicco last:

     [First Page] [Prev] 1 2 3 
    

    Dove la terza pagina non è "cliccabile" perchè ora è l'ultima pagina quella corrente.

    Se invece vado su una pag "in mezzo" ho il seguente risultato:

    [First Page] [Prev] 1 2 3 [Next] [Last Page]

    Non hai ottenuto questo risultato?


  • User Attivo

    Ho provato ad inserire la riga dell'output nella tabella con il codice che hai messo tu e la visualizzazione avviene come prima in modo orizzontale.

    mi sono accora che i numeri della pagina appaiono al posto di next e last page

    :mmm:
    Next e last se sei in ultima pagina non vengono visualizzati.


  • User Attivo

    tutto giusto, ma i numeri invece di apparire in orizzantale sono in verticale


  • User Attivo

    Non saprei ..

    A me sia senza tabella che con la tab mi vengono in orizzontale.

    strano

    :bho:


  • Moderatore

    Quant'è larga la tabella?


  • User

    Io di solito uso qualcosa di simile:

    
    <? 
    		$sql="SELECT * FROM tabella WHERE condizione";
    		
    		if &#40;$npag==""&#41; $npag=1;
    		$record_pagina = 50; // <- record da visualizzare in ogni pagina
    		if &#40;!isset&#40;$start&#41;&#41; $start = 0;
    				
    
    	// paginazione
    		$risultati_totale=mysql_query&#40;$sql&#41;;
    		$sql.=" ORDER BY ordine LIMIT $start,$record_pagina";
    		$num_totale = @mysql_num_rows&#40;$risultati_totale&#41;; 
    		$numero_pagine = ceil&#40;$num_totale/$record_pagina&#41;;		
    		$celle=0;?>
    
    
    
    <?if &#40;$numero_pagine > 1&#41; &#123;?>
    	**<font size="1" color="#333366"> Pagine 
    	<? for &#40;$pagina = 1; $pagina <= $numero_pagine; $pagina++&#41; &#123; ?>
    		<? if &#40;$npag==$pagina&#41; &#123; ?>
    			**<font size="2">&#91;<?echo $pagina; ?>&#93;</font>** 
    		<? &#125; else &#123; ?>
    			&#91;[url="<? echo $PHP_SELF; ?>?start=<? echo &#40;&#40;$pagina-1&#41;*$record_pagina&#41;; ?>&npag=<? echo $pagina; ?>&idcategoria=<? echo $idcategoria; ?>&idmercato=<? echo $idmercato; ?>"]<? echo $pagina; ?>&#93; 
    		<? &#125; ?>
    	<? &#125; ?>
    	</font>**
    <? &#125; ?>
    
    

    Dean