capire un paio di cose su questo codice

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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":)
 

patriziou

Utente Attivo
12 Lug 2011
79
0
0
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;
  }
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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;
  }
}
?>
 

patriziou

Utente Attivo
12 Lug 2011
79
0
0
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
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

patriziou

Utente Attivo
12 Lug 2011
79
0
0
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
Autore Titolo Forum Risposte Data
G non riesco a capire quale sia l'errore [SQL] MySQL 2
AC1 Aiutatemi a capire Sviluppo app per iOS 6
trattorino [Javascript] come capire procedimento log user Javascript 2
D [MS Access] aiuto non riesco a capire MS Access 6
otto9due Capire la funzione del parametro event passato alla funzione.. jQuery 1
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
trattorino mi aiutate a capire? guadagni adsense Guadagnare col Sito 0
otto9due Capire quale file .js contiene il codice eseguito? jQuery 3
L mettere un simbolo per capire se è un sottomenu jQuery 2
V Leggere da db e metodi asincroni:vorrei capire jQuery 8
P capire come funziona il db di fb Discussioni Varie 1
M Capire che web editor è stato utilizzato HTML e CSS 4
ecosito Aiuto con la traduzione in italiano per capire come installare questo JavaScript jQuery 0
J Ciao ho bisogno di capire, perché questo form non funziona più sul sito ASP.NET 0
otto9due Piccola domandina.. Aiutatemi a capire una questa cosa strana.. PHP 3
P Non riesco a capire dove sta l'errore e perchè non mi memorizza il contenuto PHP 14
felino Cookie: capire da chi sono segnalati e se occorre generarli HTML e CSS 2
J Aiuto per capire javascript Javascript 0
felino Google: mi aiutate a capire questa situazione? SEO e Posizionamento 8
S non riesco a capire la struttura di questo sito in PHP PHP 0
A Html e css non riesco a capire l'errore HTML e CSS 13
S Mi aiutate a capire questi errori? Wordpress WP 3.3.1 error_log CMS (Content Management System) 3
O capire che funzione è PHP 2
P Chi mi aiuta a capire dove sbaglio nel mio CSS? HTML e CSS 3
S Problema AJAX che non riesco a capire. Ajax 0
J non riesco a capire il problema PHP 1
4 AIUTATEMI a capire questa pagina HTML e CSS 2
francescof capire oggi quello che sarebbe troppo tardi capire domani Presenta il tuo Sito 5
P Fatemi capire un pò.... HTML e CSS 2
M Capire la funzionalità di asp!!! Classic ASP 3
M Come capire su che provider è hostato un sito Hosting 2
C Capire la versine di php PHP 0
filippino Problema AdSense : Scomparsa banner sidebar SOLO in un paio di articoli Google AdSense 0
L stupenda galleria.. io vorrei aggiungerci un paio di cosette..help me! Flash 0
Silente Offro cose semplici Offerte e Richieste di Lavoro e/o Collaborazione 0
L [VENDO] Pagina FB 722 like fumetti e cose divertenti Annunci servizi di Social Media Marketing 0
S vorrei modificare delle cose sul guestbook ... Classic ASP 1
U fare sito dove uno entra e scrive delle cose che subito invia trammite e-mail a me PHP 2
A patter o cose simili.. Webdesign e Grafica 3
lukeonweb Le cose che fanno bene al calcio... Discussioni Varie 4
peppoweb Acquistare un notebook: le cose da sapere Hardware 1

Discussioni simili