capire un paio di cose su questo codice

ciao
prova in questo modo, ricordati di salvare la classe in un file chiamato paginazione.php

PHP:
<?php
$conn = mysql_connect("localhost","",""); 
mysql_select_db("my_crashgiochi", $conn); 
//includo la classe (che avrai salvato nel file paginazione.php)
require_once"paginazione.php";
// istanziamo la classe per l'impaginazione
$p = new Paging;
$x_pag = 10; //numero di record per pagina
$inizio = $p->paginaIniziale($x_pag);// identifichiamo la pagina da cui iniziare la numerazione
//conto i record della tabella
$all_rows = mysql_num_rows(mysql_query("SELECT id FROM giochi"));
if($all_rows > 0){//c'è almeno un record
	// troviamo il numero delle pagine
	$pagine = $p->contaPagine($all_rows, $x_pag);
	//eseguo la query con limit
	$rs = mysql_query("SELECT * FROM giochi ORDER BY id DESC LIMIT $inizio, $x_pag") or die(mysql_error());
	while($row = mysql_fetch_array)){
		echo "<p><table><tr>"; 
		echo "<td width=\"300\"><a href='".$row['url']."'>" . $row['nome'] . "</a></td>";     
		echo "<td width=\"312\">"; 
		echo "<div align=\"right\">".$row['data_ins']."</div>"; 
		echo "</td>"; 
		echo"</tr></table>"; 
		echo "<table><tr>"; 
		echo "<td width=\"100\" border=\"0\" height=\"100\"><img src=\"".$row['immagine']."\"></td>"; 
		echo "<td width=\"512\" border=\"0\" height=\"100\">" . $row['testo'] . "</td>"; 
		echo "</tr></table></p>"; 
	}
	//mostriamo le pagine
	//per $lista e $navigatore potrest creare un'altra tabella 1 riga due colonne
	$lista = $p->listaPagine($_GET['p'], $pagine);
	echo $lista . "<br>";
	//mostriamo il navigatore Precedente/Successiva
	$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);
	echo $navigatore;
}else{//la tabella è vuota
	echo "Nessun record trovato!"; 
}
?>
guarda che l'ho buttata li di getto, verifica che abbia scritto giusto i nomi delle variabili. campi ecc..

p.s.
se funzia ringrazia il "vampiro eliox":)
 
questo giusto? (class):
PHP:
<?
class Paging
{
  // definiamo la pagina di partenza
  function paginaIniziale($max_row)
  {
    if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
    {
      $parti_da = 0;
      $_GET['p'] = 1;
    }else{
      $parti_da = ($_GET['p']-1) * $max_row;
    }
    return $parti_da;
  }

  // contiamo le pagine e stabiliamo quanti records devono essere impaginati 
  function contaPagine($conta, $max_row)
  {
    $pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
    return $pgg;
  }
?>
 
ciao
mi sembra di no, devi copiare tutto il codice della classe
PHP:
<?php
// definiamo una costante per la pagina corrente
define("SELF", $_SERVER['PHP_SELF']);
// definiamo la classe
class Paging
{
  // definiamo la pagina di partenza
  function paginaIniziale($max_row)
  {
    if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
    {
      $parti_da = 0;
      $_GET['p'] = 1;
    }else{
      $parti_da = ($_GET['p']-1) * $max_row;
    }
    return $parti_da;
  }
  // contiamo le pagine e stabiliamo quanti records devono essere impaginati 
  function contaPagine($conta, $max_row)
  {
    $pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
    return $pgg;
  }
  // mostriamo l'elenco delle pagine
  function listaPagine($p_corrente, $pgg)
  {
    $listapgg = "";
    if (($p_corrente != 1) && ($p_corrente))
    {
      $listapgg .= " <a href=\"".SELF."?p=1\">Prima pag.</a> ";
    }
    if (($p_corrente-1) > 0)
    {
      $listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."\"><</a> ";
    }
    for ($i=1; $i<=$pgg; $i++)
    {
      if ($i == $p_corrente)
      {
        $listapgg .= "<b>".$i."</b>";
      }else{
        $listapgg .= "<a href=\"".SELF."?p=".$i."\">".$i."</a>";
      }
      $listapgg .= " ";
    }
    if (($p_corrente+1) <= $pgg)
    {
      $listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">></a> ";
    }
    if (($p_corrente != $pgg) && ($pgg != 0))
    {
      $listapgg .= "<a href=\"".SELF."?p=".$pgg."\">Ultima pag.</a> ";
    }
    $listapgg .= "</td>\n";
    return $listapgg;
  }
  // permettiamo la navigazione per pagine precedenti e successive
  function precedenteSuccessiva($p_corrente, $pgg)
  {
    $impaginazione = "";
    if (($p_corrente-1) <= 0)
    {
      $impaginazione .= "Precedente";
    }else{
      $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente-1)."\">Pag. precedente</a>";
    }
    $impaginazione .= " | ";
    if (($p_corrente+1) > $pgg)
    {
      $impaginazione .= "Prossima";
    }else{
      $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">Prossima pag.</a>";
    }
    return $impaginazione;
  }
}
?>
 
okkei ftt ma mi da un errore praticamente invece di vedere il nome l' immagine l' id e il resto si vedono m all' infinito se bvuoi riposto i codici
paginazione.php:
PHP:
<?php
// definiamo una costante per la pagina corrente
define("SELF", $_SERVER['PHP_SELF']);

// definiamo la classe
class Paging
{
  // definiamo la pagina di partenza
  function paginaIniziale($max_row)
  {
    if ((!isset($_GET['p'])) || ($_GET['p'] == "1"))
    {
      $parti_da = 0;
      $_GET['p'] = 1;
    }else{
      $parti_da = ($_GET['p']-1) * $max_row;
    }
    return $parti_da;
  }

  // contiamo le pagine e stabiliamo quanti records devono essere impaginati 
  function contaPagine($conta, $max_row)
  {
    $pgg = (($conta % $max_row) == 0) ? $conta / $max_row : floor($conta / $max_row) + 1;
    return $pgg;
  }

  // mostriamo l'elenco delle pagine
  function listaPagine($p_corrente, $pgg)
  {
    $listapgg = "";
    if (($p_corrente != 1) && ($p_corrente))
    {
      $listapgg .= " <a href=\"".SELF."?p=1\">Prima pag.</a> ";
    }
    if (($p_corrente-1) > 0)
    {
      $listapgg .= "<a href=\"".SELF."?p=".($p_corrente-1)."\"><</a> ";
    }
    for ($i=1; $i<=$pgg; $i++)
    {
      if ($i == $p_corrente)
      {
        $listapgg .= "<b>".$i."</b>";
      }else{
        $listapgg .= "<a href=\"".SELF."?p=".$i."\">".$i."</a>";
      }
      $listapgg .= " ";
    }
    if (($p_corrente+1) <= $pgg)
    {
      $listapgg .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">></a> ";
    }
    if (($p_corrente != $pgg) && ($pgg != 0))
    {
      $listapgg .= "<a href=\"".SELF."?p=".$pgg."\">Ultima pag.</a> ";
    }
    $listapgg .= "</td>\n";
    return $listapgg;
  }

  // permettiamo la navigazione per pagine precedenti e successive
  function precedenteSuccessiva($p_corrente, $pgg)
  {
    $impaginazione = "";
    if (($p_corrente-1) <= 0)
    {
      $impaginazione .= "Precedente";
    }else{
      $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente-1)."\">Pag. precedente</a>";
    }
    $impaginazione .= " | ";
    if (($p_corrente+1) > $pgg)
    {
      $impaginazione .= "Prossima";
    }else{
      $impaginazione .= "<a href=\"".SELF."?p=".($p_corrente+1)."\">Prossima pag.</a>";
    }
    return $impaginazione;
  }
}
?>
homepage.php:
PHP:
 <?php 
$conn = mysql_connect("localhost","","");  
mysql_select_db("my_crashgiochi", $conn);  
//includo la classe (che avrai salvato nel file paginazione.php) 
require_once"paginazione.php"; 
// istanziamo la classe per l'impaginazione 
$p = new Paging; 
$x_pag = 10; //numero di record per pagina 
$inizio = $p->paginaIniziale($x_pag);// identifichiamo la pagina da cui iniziare la numerazione 
//conto i record della tabella 
$all_rows = mysql_num_rows(mysql_query("SELECT id FROM giochi")); 
if($all_rows > 0){//c'è almeno un record 
    // troviamo il numero delle pagine 
    $pagine = $p->contaPagine($all_rows, $x_pag); 
    //eseguo la query con limit 
    $rs = mysql_query("SELECT * FROM giochi ORDER BY id DESC LIMIT $inizio, $x_pag") or die(mysql_error()); 
    while($row = mysql_fetch_array){ 
        echo "<p><table><tr>";  
        echo "<td width=\"300\"><a href='".$row['url']."'>" . $row['nome'] . "</a></td>";      
        echo "<td width=\"312\">";  
        echo "<div align=\"right\">".$row['data_ins']."</div>";  
        echo "</td>";  
        echo"</tr></table>";  
        echo "<table><tr>";  
        echo "<td width=\"100\" border=\"0\" height=\"100\"><img src=\"".$row['immagine']."\"></td>";  
        echo "<td width=\"512\" border=\"0\" height=\"100\">" . $row['testo'] . "</td>";  
        echo "</tr></table></p>";  
    } 
    //mostriamo le pagine 
    //per $lista e $navigatore potrest creare un'altra tabella 1 riga due colonne 
    $lista = $p->listaPagine($_GET['p'], $pagine); 
    echo $lista . "<br>"; 
    //mostriamo il navigatore Precedente/Successiva 
    $navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine); 
    echo $navigatore; 
}else{//la tabella è vuota 
    echo "Nessun record trovato!";  
} 
?>
e il codice iniziale:
PHP:
 <?
// Creo una variabile dove imposto il numero di record 
// da mostrare in ogni pagina
$x_pag = 10;

// Recupero il numero di pagina corrente.
// Generalmente si utilizza una querystring
$pag = $_GET['pag'];

// Controllo se $pag &egrave; valorizzato...
// ...in caso contrario gli assegno valore 1
if (!$pag) $pag = 1; 

// Mi connetto al database
$conn = mysql_connect("localhost","","");
mysql_select_db("my_crashgiochi", $conn);

// Uso mysql_num_rows per contare le righe presenti
// all'interno della tabella agenda
$all_rows = mysql_num_rows(mysql_query("SELECT id FROM giochi"));

// Tramite una semplice operazione matematica definisco
// il numero totale di pagine
$all_pages = ceil($all_rows / $x_pag);

// Calcolo da quale record iniziare
$first = ($pag - 1) * $x_pag;

// Recupero i record per la pagina corrente...
// utilizzando LIMIT per partire da $first e contare fino a $x_pag
$rs = mysql_query("SELECT * FROM giochi ORDER BY id DESC LIMIT $first, $x_pag") or die(mysql_error());
$nr = mysql_num_rows($rs);
if ($nr != 0){
  for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rs);
	$immagine = $row['immagine'];
     echo "<p><table><tr>";
    echo "<td width=\"300\"><a href='".$row['url']."'>" . $row['nome'] . "</a></td>";	
	echo "<td width=\"312\">";
	echo "</td>";
	echo"</tr></table>";
    echo "<table><tr>";
    echo "<td width=\"100\" border=\"0\" height=\"100\"><img src=\"$immagine\"></td>";
	echo "<td width=\"512\" border=\"0\" height=\"100\">" . $row['testo'] . "</td>";
    echo "</tr></table></p>";
  }
}else{
  echo "Nessun record trovato!";
}

// Se le pagine totali sono pi&ugrave; di 1...
// stampo i link per andare avanti e indietro tra le diverse pagine!
if ($all_pages > 1){
  if ($pag > 1){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag - 1) . "\">";
    echo "Pagina Indietro</a>&nbsp;";
  } 
  if ($all_pages > $pag){
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?pag=" . ($pag + 1) . "\">";
    echo "Pagina Avanti</a>";
  } 
}

// Chiudo la connessione ad DB
mysql_close($conn);
?>
forse ora chiedo troppo però se puoi darmi una mano
 
ciao
in che senzo? quello che ti ho postato "dovrebbe" funzionare, basta che tu richiami la homepage.php.
se ti da errori postali che vediamo di correggerli
 
l' uncio errore che mi da dovrebbe essere penso nel while dato che se nn sbaglio si chiama loop o meglio ripete all' infinito la lettere m in tutti i vari campi nome immagine id testo e data
 

Discussioni simili