Help paginazione

zorro

Utente Attivo
20 Ott 2014
255
11
18
ROMA
Salve a tutti.
Premetto che non sono molto ferrato col PHP; ho un problema con la suddivisione in pagine di una grossa tabella (circa 300 record)
Ho trovato un paio di articoli che spiegavano le tecniche della paginazione ma a me servirebbero degli esempi pratici.
Qualcuno sarebbe in grado di aiutarmi o di indicarmi dove trovare qualche esempio pratico ??
Vi ringrazio antipatamente.:byebye::byebye:
 

zorro

Utente Attivo
20 Ott 2014
255
11
18
ROMA
Ciao Marino,
ti ringrazio per la risposta. Sono andato al link che mi hai dato ma, per la verità, non è che c'ho capito molto.............
(so un po' 'de coccio').
In pratica io mi connetto al DB e leggo (e stampo a video) i primi 30 record con LIMIT 0,30 dopodichè ho inserito una funzione, copiata da internet, che mi fa apparire un link PAGINA AVANTI cliccando sul quale mi rimanda a PAGINA2.PHP. Ma questa pagina la devo costruire ?? .....e come la costruisco ??
Grrazie ancora e a presto
 

marino51

Utente Attivo
28 Feb 2013
2.985
173
63
Lombardia
ti posto l'esempio che forniscono loro anche se io l'ho ridotto un poco per le mie prove
non ti posto la classe ma ti invito a scaricarla perché la versione che ho io, l'ho modificata per lavorare con ms sql
a me sembra facile da gestire in una pagina, se hai la pazienza di leggere anche le info a corredo
vedrai che si devono solo inserire dei parametri null'altro
il codice che ho usato per la prova lavora su una tabella di oltre 800 elementi, ma non credo ci siano vincoli
secondo me costa molto meno usare questa classe (o un'altra simile) piuttosto che svilupparsi la paginazione in proprio
questo il codice (da me solo modificato ...)
PHP:
<meta charset="utf-8" />
<?php

require_once 'PDO_Pagination.php';

$Database = 'sqlsrv:Server=*****;Database=testDB';
$dbUSER  = '*****';
$dbPASS  = '*****';

try
{
  $connection = new PDO($Database, $dbUSER, $dbPASS);  
  $connection->query("SET NAMES UTF8");
}
catch ( PDOException $e ) { print "Error!: " . $e->getMessage() . "<br/>"; die(); }

$pagination = new PDO_Pagination( $connection );
$pagination->setLimitPerPage( 14 );
$pagination->setPaginator( 'paghex' );

$sql = "SELECT * from (";
$sql.= " SELECT";
$sql.= "  Row_Number() over ( ORDER BY color_name ) as RowIndex";
$sql.= "  ,color_id";
$sql.= "  ,color_name";
$sql.= "  ,color_hex";
$sql.= " FROM colors";
$sql.= " ) as pager";

$pagination->setSQL( $sql );

$results = $connection->query( $pagination->getSQL() );

print '<div style="float:left; margin-right: 25px">';
print '<h1>Ordered by Hexadecimal Value</h1>';

$pagination->printResultBar();

if( $pagination->getTotalOfResults() > 0 )
{
  print '<table width="800" cellpadding="4" border="1">';
  print '<tr><td></td><th>Hexadecimal</th><th>Name</th><th>Sequenza</th></tr>';

  foreach( $results as $r )
  {
    printf (
     "<tr>
        <td width=\"100\" style=\"background: %s\"></td>
        <td width=\"100\">%s</td>
        <td>%s</td>        
        <td>%s</td>        
      </tr>"
      , $r['color_hex']
      , $r['color_hex']
      , $r['color_name']
      , $r['RowIndex']
    );
  }
  print '</table>';
  $pagination->printNavigationBar();
  print '</div>';
}
$connection = null; 
?>
che fa molto è la query ....
ciao
Marino
 

zorro

Utente Attivo
20 Ott 2014
255
11
18
ROMA
Ciao Marino51,
ho ricevuto il tuo post, l'ho studiato, l'ho eseguito ma continua a darmi un errore (senza indicarmi il nr di riga, per cui non so nemmeno dove si è verificato) e poi a me oggetti, classi e simili mi rimangono un po' ostici da usare tanto che quando posso evito di usarli. Ti posto il codice che ho scritto: ( non so come si inserisce uno scrpt)

//connessione al server DB
$link_connessione=mysql_connect("localhost","provasitofl","") or die ("Connessione impossibile");

// Selezione del database
$db=mysql_select_db("my_provasitofl", $link_connessione) or die ("Database inesistente!");

// Visualizzazione dei record della tabella
$query="SELECT * FROM CCLINICHE LIMIT 0,3'0";
$tabella=mysql_query($query, $link_connessione) or die ("Attenzione: errore nella query");

//Esecuzione della query
while ($riga=mysql_fetch_array($tabella)) {
$id=$riga['ID_UTENTE'];
$cognome=$riga['COGNOME'];
$nome=$riga['NOME'];
$reparto=$riga['REPARTO'];
$data_rich=$riga['DATA_RICH'];
$num_cart=$riga['NUM_CART'];
$stato=$riga['STATO'];
$data_rit=$riga['DATA_RIT'];
$note=$riga['NOTE'];
echo "$id $cognome $nome $reparto $data_rich $num_cart $stato $data_rit $note <br>";
}

al quale ho aggiunto una funzione, scaricata da internet, che mi fa apparire i due link PAGINA AVANTI e PAGINA INDIERTO. Mi puoi aiutare ?? Grazie comunque.
Ciao. Buona giornata


Zorro
 

marino51

Utente Attivo
28 Feb 2013
2.985
173
63
Lombardia
Vedi l'allegato PDO_Pagination.zip

estrai lo zip in una cartella,
modifica index.php inserendo i parametri di connessione al tuo database,
controlla i nomi che ho inserito, prendendoli dal tuo post, per essere sicuro che siano giusti
index.php richiama Pdo_pagination.php che deve essere nella stessa cartella
prova ad eseguirlo
fai sapere se funziona e se ti può andare bene
ciao
Marino
 

marino51

Utente Attivo
28 Feb 2013
2.985
173
63
Lombardia
scusa, in "index.php" sostituisci l'equivalente con il codice sottostante
PHP:
if( $pagination->getTotalOfResults() > 0 ) 
{ 
  print '<table width="800" cellpadding="4" border="1">'; 
  print '<tr><th>ID_UTENTE</th><th>COGNOME</th><th>NOME</th><th>REPARTO</th>'
       .'<th>DATA_RICH</th><th>NUM_CART</th><th>STATO</th><th>DATA_RIT</th><th>NOTE</th></tr>'; 

  foreach( $results as $r ) 
  { 
    printf ( 
     "<tr><td>%s</td><td>%s</td><td>%s</td><td>%s</td><td>%s</td>
      <td>%s</td><td>%s</td><td>%s</td><td>%s</td></tr>" 
      , $r['ID_UTENTE']
      , $r['COGNOME']
      , $r['NOME']
      , $r['REPARTO']
      , $r['DATA_RICH']
      , $r['NUM_CART']
      , $r['STATO']
      , $r['DATA_RIT']
      , $r['NOTE'] ); 
  } 
  print '</table>';
 

zorro

Utente Attivo
20 Ott 2014
255
11
18
ROMA
Ciao Marino51,
ho visto i tuoi post e avevo anche letto l'articolo sulla paginazione (ed è proprio da lì che ho scaricato la funzione).
Ora me li studio un po' e poi ti faccio sapere. Per il momento ti ringazo ancora per l'aiuto che mi hai dato.
Buona giornata e a presto


Zorro
 

zorro

Utente Attivo
20 Ott 2014
255
11
18
ROMA
Ciao Marino51,
finalmente ho risolto: ho studiato i tuoi post e tutto quello che mi hai mandato e finalmente ho risolto.
Grazie tantissimo dell'aiuto :fonzie::fonzie:


Zorro
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Passare i risultati di un foreach in un modal. Help! PHP 2
J help me C/C++ 1
Q HELP ME PLEASE!‼️‼️ E-Commerce 1
L difficoltà con Xampp. printing php mancante...help Web Server 6
K [PHP] Help me a problem... Pleases PHP 1
M HELP FORM CREATO IN PHP PHP 14
M Help - consultare (ed esportare) dati da un DB pubblico mySql PHP 2
S [PHP] help me!! PHP 2
F Cerco contatto tipo help-desk Offerte e Richieste di Lavoro e/o Collaborazione 2
F Help-PDO copiare Database MySQL PHP 3
Andrea1981 [WordPress] [HTML] Help modifica credits nel footer.Tema Customizr. WordPress 5
simgia [Javascript] Google maps help! Javascript 1
S [WordPress] Footer php - il background riempie tutta la pagina - help WordPress 1
A funzioni asincrone e callback...help! Ajax 10
F Help array da javascript a php Javascript 2
M [PHP] Help: controllo valori inseriti in un campo PHP 1
P Help con js/php PHP 6
N Sistema di Help di Delphi 7 non funziona su Win10 Windows e Software 0
silvia88 ***Help*** - Anteprima immagine photoshop diversa da file Photoshop 3
A HELP: vedo il sito posizionato in serp solo con i tool di posizionamento!!! SEO e Posizionamento 3
T [PHP] Calcolo anzianità soggetti [era: Help me :( Esercizio per me impossibile] PHP 9
trattorino Creare codice php help PHP 26
CoyotesSon [PHP] Help! Creazione di una finestra PHP 5
V help java Java 2
L help me Presentati al Forum 0
L N00b need help Webdesign e Grafica 2
I Help - Problema installazione tema di themeforest WordPress 1
claudiav ciao!! help.. Presentati al Forum 0
Z Invio mail da telecamere HIKVision - HELP!!! IP Cam e Videosorveglianza 0
M - WordPress - Sito Annunci HELP ME!!!! :crying: WordPress 2
L Hosting, help HTML e CSS 2
M HoneyPot su macchina virtuale HELP ME PLEASE!!! Reti LAN e Wireless 0
F Help con leaseweb Hosting 2
M DropDownList HELP ASP.NET 8
E [Javascript] help me !!! array da php a java Javascript 9
N Query lenta, help ! MySQL 0
P Help! modifica script Javascript 11
R cookies policy - help Leggi, Normative e Fisco 21
I Piccolo roblema di compatibilità mobile.. help! PHP 1
A Help! Creare un blog/portale con chat in real time WordPress 0
P help variabile js concatenata a echo php Javascript 0
O Help, devo fare un sito web con alcune caratteristiche... HTML e CSS 2
Alessandra Fanelli Menu Collapse- help -nn iserisce azioni a pulsanti Flash 0
M php help ! PHP 3
V datepicker help.... jQuery 2
S Php HELP! PHP 2
S php help phpBB 5
P HELP: passare alla seconda maschera tramite pulsante MS Access 0
iAntis Domande per Restyling completo di un sito e nuovo Upload sul server: HELP! :/ Hosting 1
D inserire datepicker in un form - help HTML e CSS 4

Discussioni simili