Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Navigazione tra i record php

    codice HTML:
    <html> 
    <head> 
    <title>Navigazione Record</title> 
    </head> 
    <body> 
    <?php 
    $host='localhost'; 
    $user='root'; 
    $password=''; 
    $database='rubrica'; 
    
    $startindex=@$_REQUEST['seek']; 
    
    $db=mysql_connect($host, $user, $password) 
    or die ("Impossibile connettersi al server $host"); 
    
    mysql_select_db($database, $db) 
    or die ("Impossibile connettersi al database $database"); 
    
    $query="select*from anarchy"; 
    $dbResult=mysql_query($query, $db); 
    $AffectedRows=mysql_affected_rows($db); 
    
    mysql_data_seek($dbResult, $startindex); 
    
    $row=mysql_fetch_row($dbResult); 
    
    foreach($row as $k=>$v) 
    { 
        $myfield=mysql_fetch_field($dbResult, $k); 
        print($myfield->name . " : $v <br/>"); 
    } 
    
    mysql_free_result($dbResult); 
    mysql_close($db); 
    
    print("<br/>Seleziona il record<br/>"); 
    
    for($index=0; $index<$AffectedRows; $index++) 
    { 
        print("<a href=\"{$_SERVER['PHP_SELF']}?seek=$index\" >" . 
        ($index+1) . "</a> "); 
    } 
    ?> 
    </body> 
    </html>
    Il codice di sopra effettua una paginazione dei record selezionati da un database, permettendone una navigazione. Crea una pagina per ogni record.
    Come dovrei fare per creare una pagina ogni 10 records cosi da mostrarne di più? con la limit non funziona, come dovrei proseguire?

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    non capisco, se fai una query
    codice:
    SELECT * FROM anarchy LIMIT $start, 10
    con $start che varrà 0 per la prima pagina e con $start che varrà 10 * n (con n che cresce da 1 a infinito) per le successive, non ottieni il risultato che ti serve?

  3. #3
    A me serve avere una paginazione ogni 10 records, quindi 10 record-->1 pagina
    20 record --> 2 pagine
    E cosi via, in quel modo non funziona

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    limit 0, 10 => restituisce 10 righe della tabella a partire dalla 1 fino alla 10
    limit 10, 10 => restituisce 10 righe della tabella a partire dalla 11 fino alla 20
    ecc...

    ogni volta che richiami la pagina successiva, riesegui la query cambiando il primo valore del limit

    per sapere quante sono le ipotetiche pagine, esegui una query che conti i record della tabella e poi lo dividi per il numero di record che vuoi visualizzare per pagina

  5. #5
    quindi: conto il numero di record e lo divido per 10.
    pagine = numero_record / 10;
    per ogni pagina eseguo una query con la limit: limit $start,10
    con start che aumenta sempre di uno. Giusto?

  6. #6
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Vedi http://stackoverflow.com/a/2616715/711206 e segui l'esempio.
    Ma risparmiatelo, crea un adattatore per https://github.com/whiteoctober/Pagerfanta o, ancora meglio, inizia a usare dbal, e usa quello. Te la cavi con 10 righe di codice.

Tag per questa discussione

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.