Paginazione

cherpy

Nuovo Utente
4 Dic 2004
6
0
0
Dalla guida di Claudio Garau per la galleria immagini vorrei fare una paginazione delle immagini stesse, qualcuno mi può dare una mano?
 

cherpy

Nuovo Utente
4 Dic 2004
6
0
0
Paginazioni

I tutorial di Claudio Garau funzionano perfettamente. Io mi sto cimentando adesso con il php e ho difficoltà a visualizzare le immagini nel tutorial delle pagine. Mi spiego meglio la galleria funziona perfettamente e la paginazione anche, non riesco a usarle insieme. Grazie per la risposta
 

cherpy

Nuovo Utente
4 Dic 2004
6
0
0
Questo il tutorial di Claudio Garau visibile a questo collegamento https://www.mrw.it/php/articoli/galleria-immagini-php-gd2-mysql_828.html queste due pagine di codice funzionano benissimo. Il problema è la paginazione seguendo il tutorial per la paginazione delle immagini non riesco a visualizzare le immagini nella pagina paginazione che allego sotto

primo file

<?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;
}
}
?>

secondo file

<?php
//includiamo il file della classe
@require("paginazione.php");

//connettiamoci a MySQL e selezioniamo il database
class MySQL
{
function MySQL()
{
$this->host_name = "localhost";
$this->user_name = "username";
$this->password = "password";
$this->data_name = "dbseodir";
$this->link = @mysql_connect($this->host_name, $this->user_name, $this->password) or die (mysq_error());
@mysql_select_db($this->data_name) or die (mysq_error());
}
}

$data = new MySQL();

// istanziamo la classe per l'impaginazione
$p = new Paging;

// numero massimo di risultati per pagina
$max = 10;

// identifichiamo la pagina da cui iniziare la numerazione
$inizio = $p->paginaIniziale($max);

// contiamo i records nel database
$query_count = @mysql_query("SELECT * FROM sitezzz") or die (mysql_error());
$count = @mysql_num_rows($query_count) or die (mysql_error());

// troviamo il numero delle pagine che dovrà essere contato
$pagine = $p->contaPagine($count, $max);

// limitiamo la SELECT al numero di risultati per pagina
$query = @mysql_query("SELECT * FROM sitezzz LIMIT ".$inizio.",".$max) or die (mysql_error());

//mostriamo le pagine
$lista = $p->listaPagine($_GET['p'], $pagine);
echo $lista . "<br>";

//mostriamo il navigatore Precedente/Successiva
$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);
echo $navigatore;
?>

funziona e conta il numero delle pagine ma non visualizza le immagini che cosa c'è da fare?
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
dovresti utilizzare la seconda select per estrarre i dati, ad es:
PHP:
$query = @mysql_query("SELECT * FROM sitezzz LIMIT ".$inizio.",".$max) or die (mysql_error());
while($r=mysql_fetch_array($query))
 {
 echo $r['nome_campo']; 
}
 

cherpy

Nuovo Utente
4 Dic 2004
6
0
0
Incolonnamento immagini

Ciao Eliox
grazie per il grande aiuto che mi hai dato sono riuscito a far funzionare la galleria. Ora c'è un problema visualizzo tutte miniature e non riesco a incolonnarle per tre dammi un ulteriore aiuto.
Saluti Cherpy
 

cherpy

Nuovo Utente
4 Dic 2004
6
0
0
Incolonnamento immagini

Ciao Eliox
ho guardato il tutorial e sinceramente non riesco a farlo funzionare io dopo i precedenti aiuti ho realizzato la pagina per la galleria e l'impaginazione come il codice che ti allego:

galleria.php

<?php
//includiamo il file della classe
@require("paginazione.php");
$path_img = 'files/';

//connettiamoci a MySQL e selezioniamo il database
include 'config_mysql.php';

// istanziamo la classe per l'impaginazione
$p = new Paging;

// numero massimo di risultati per pagina
$max = 3;

// identifichiamo la pagina da cui iniziare la numerazione
$inizio = $p->paginaIniziale($max);

// contiamo i records nel database
$query_count = @mysql_query("SELECT * FROM images") or die (mysql_error());
$count = @mysql_num_rows($query_count) or die (mysql_error());

// troviamo il numero delle pagine che dovrà essere contato
$pagine = $p->contaPagine($count, $max);

// limitiamo la SELECT al numero di risultati per pagina
$query = @mysql_query("SELECT * FROM images LIMIT ".$inizio.",".$max) or die (mysql_error());

while($f=mysql_fetch_array($query))
{
$righe++;
$id = $f['Id'];
$titolo = stripslashes($f['Titolo']);
$nome = stripslashes($f['Nome']);
$descrizione = stripslashes($f['Descrizione']);
echo "<td width=\"33%\">\n";
echo $titolo . "<br />";
echo "<a href=\"visualizza.php?id=" . $id . "\">";

// stampo la cella contenente l'immagine

echo "<img src=\"" . $path_img . "tb_" . $nome . "\" border=\"0\"></a>";
echo "<br />" . $descrizione;
echo "</td>\n";
}
echo"<br>";
//mostriamo le pagine
$lista = $p->listaPagine($_GET['p'], $pagine);
echo $lista . "<br>";

//mostriamo il navigatore Precedente/Successiva
$navigatore = $p->precedenteSuccessiva($_GET['p'], $pagine);
echo $navigatore;
?>

e questo il file che visualizza le immagini

visualizza.php

<?php
if(isset($_GET['id'])){
@include 'config.php';

// apro la tabella
echo "<table><tr><td>";

// recupero dalla querystring l'ID dell'immagine da visualizzare
$id_vis = $_GET['id'];

// verifico la presenza dell'immagine sul DB
$query = "SELECT * FROM images WHERE Id = '$id_vis'";
$res = @mysql_query($query) or die (mysql_error());
$n_img = @mysql_num_rows($res);

// se l'id specificato esiste procedo con la visualizzazione
if($n_img == 1 )
{
// recupero i dati dell'immagine selezionata
$f = @mysql_fetch_array($res) or die (mysql_error());
$titolo = stripslashes($f['Titolo']);
$nome = stripslashes($f['Nome']);
$descrizione = stripslashes($f['Descrizione']);

// stampo a video l'imagine e le relative informazioni
echo $titolo . "<br />";
echo "<img src=\"" . $path_img . $nome . "\" border=\"0\">";
echo "<br />" . $descrizione . "<br><br>";

// estraggo dal DB il primo e l'ultimo ID
$sql_count = @mysql_query("SELECT MIN(Id) AS min, MAX(Id) AS max FROM images") or die (mysql_error());
$id_max = @mysql_fetch_array($sql_count) or die (mysql_error());
$min = $id_max['min'];
$max = $id_max['max'];

// calcolo e stampo il link per l'immagine precedente
if($_GET['id'] != $min){
$query_prev = @mysql_query("SELECT Id FROM images WHERE Id < '$id_vis' ORDER BY Id DESC LIMIT 1") or die (mysql_error());
$f_prev = @mysql_fetch_array($query_prev)or die (mysql_error());
$id_prev = $f_prev['Id'];
echo "<a href=\"visual.php?id=$id_prev\">&lt;&lt; Precedente</a>";
}

// calcolo e stampo il link per l'immagine successiva
if($_GET['id'] < $max){
$query_next = @mysql_query("SELECT Id FROM images WHERE Id > '$id_vis' ORDER BY Id ASC LIMIT 1") or die (mysql_error());
$f_next = @mysql_fetch_array($query_next)or die (mysql_error());
$id_next = $f_next['Id'];
echo "<a href=\"visual.php?id=$id_next\">Successiva &gt;&gt;</a>";
}
}else{
// stampo un errore se l'immagine non esiste
echo "Nessuna immagine inserita.";
}
// chiudo la tabella
echo "</td></tr></table>";
}
?>

il codice per l'incolonnamento dove lo metto?
Grazie per il tuo aiuto saluti Cherpy
 

cherpy

Nuovo Utente
4 Dic 2004
6
0
0
paginazione per righe

Salve amici del forum senza di voi noi siamo niente in special modo io che in questo momento sono in tilt, praticamente non ci sto capendo nulla.
mettiamo a confronto questi due codici, dove il primo stampa a video incolonnati per tre le immagini
questo il codice
echo "<table>";

// recupero i dati dal DB
$query = "SELECT * FROM images ORDER By Id ";
$res = mysql_query($query) or die (mysql_error());

// numero delle immagini presenti nel DB
$n_img = mysql_num_rows($res);

// verifico che il DB ospiti almeno un'immagine
if($n_img >= 1 ){
// stabilisco il numero di riche e colonne della nostra tabella per l'impagninazione
$colonne = 3;
$righe=0;

// ciclo tutti i record recuperati attraverso la nostra query
while ($f=@mysql_fetch_array($res)){
$righe++;
$id = $f['Id'];
$titolo = stripslashes($f['Titolo']);
$nome = stripslashes($f['Nome']);
$descrizione = stripslashes($f['Descrizione']);

// stampo la cella contenente l'immagine
echo "<td width=\"33%\">\n";
echo $titolo . "<br />";
echo "<a href=\"visual.php?id=" . $id . "\">";
echo "<img src=\"" . $path_img . "tb_" . $nome . "\" border=\"0\"></a>";
echo "<br />" . $descrizione;
echo "</td>\n";

il secondo codice stampa le immagini 1 per colonna

secondo codice
@require("paginazione.php");
$path_img = 'files/';

include 'config_mysql.php';

// istanziamo la classe per l'impaginazione
$p = new Paging;

// numero massimo di risultati per pagina
$max = 6;

// identifichiamo la pagina da cui iniziare la numerazione
$inizio = $p->paginaIniziale($max);

// contiamo i records nel database
$query_count = @mysql_query("SELECT * FROM images") or die (mysql_error());
$count = @mysql_num_rows($query_count) or die (mysql_error());

// troviamo il numero delle pagine che dovrà essere contato
$pagine = $p->contaPagine($count, $max);

// limitiamo la SELECT al numero di risultati per pagina
$query = @mysql_query("SELECT * FROM images LIMIT ".$inizio.",".$max) or die (mysql_error());

while($f=mysql_fetch_array($query))
{
$righe++;
$id = $f['Id'];
$titolo = stripslashes($f['Titolo']);
$nome = stripslashes($f['Nome']);
$descrizione = stripslashes($f['Descrizione']);
echo "<td width=\"33%\">\n";
echo $titolo . "<br />";
echo "<a href=\"visual.php?id=" . $id . "\">";

// stampo la cella contenente l'immagine

echo "<img src=\"" . $path_img . "tb_" . $nome . "\" border=\"0\"></a>";
echo "<br />" . $descrizione;
echo "</td>\n";
}

la mia domanda è questa come utilizzare il primo codice nel secondo? per utilizzarlo nella paginazione
Grazie per la prossima risposta Cherpy
 
Discussioni simili
Autore Titolo Forum Risposte Data
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
motleyrulez Paginazione Tabella Bootstrap Javascript 2
B [Java] Paginazione in risposta HTTP Java 0
L [PHP] paginazione con classi vendor PHP 2
K [PHP] Paginazione Wordpress: passare variabile PHP 6
A [PHP] If e Else paginazione ok ci sono risultati no ma avanti lo stesso PHP 15
paloppa [PHP] paginazione con ajax PHP 1
O paginazione php mysql PHP 10
A [PHP] limitare counter paginazione PHP 7
V [ASP] paginazione-risultati-query-grandi-dimensioni Classic ASP 8
A [PHP] Problema paginazione motore di ricerca PHP 48
A [PHP] inserire paginazione su script php/mysql PHP 6
Marcello.Fiore Paginazione jQuery - PHP jQuery 2
elpirata [PHP] Paginazione dati estratti da una query con più condizioni PHP 17
X come modificare paginazione del tutorial PHP 0
MarcoGrazia Problema con bootstrap, saltata tutta la paginazione in IE8 HTML e CSS 1
F paginazione record di una query Classic ASP 5
Luca13 ASP Easy-News paginazione Classic ASP 2
G Problema di Indice e Paginazione PHP 5
L articolo: Paginazione dei dati presenti in un file di testo - informazioni PHP 2
M Paginazione di risultati query mysql PHP 2
D Paginazione dati PDO PHP 8
zorro Help paginazione PHP 10
M Problema su numerazione paginazione php PHP 6
D [risolto] Problemi di paginazione dei risultati con una determinata query Classic ASP 4
L paginazione testo senza troncare le parole PHP 3
L testare una paginazione "Creazione di 1000 dati random in una tabella" PHP 7
L problema paginazione con valori -1 -2 -3 -4 PHP 0
N Paginazione con invio modulo PHP 0
L Paginazione file di testo PHP 3
N Script paginazione PHP 0
N Paginazione PHP 2
felino Pagina di ricerca: la paginazione non funziona WordPress 0
xone Evitare Meta Tag duplicati su paginazione php PHP 2
filippino Paginazione file txt con PHP? PHP 1
felino PHP e Paginazione Jquey PHP 2
H [RISOLTO] paginazione PHP + mysql PHP 15
M Problema Paginazione con Mod_rewrite .htaccess PHP 0
J Paginazione PHP in jQuery UI Tabs jQuery 13
ste80 interazione PHP Access con paginazione PHP 7
W Problema eliminazione ultimo record da ultima pagina di crud con paginazione PHP 2
L Paginazione con pdo. PHP 8
G Paginazione php utilizzando le api di careerjet PHP 0
G Paginazione php utilizzando le api di careerjet WordPress 1
S paginazione PHP 2
L Paginazione file evitare di inserire questi \ o altro nella get PHP 1
K problemi con paginazione tabella PHP 7
L Creare paginazione numerica PHP 3
L Problema paginazione che ripete i dati doppi PHP 1
L Paginazione elenco File da una cartella PHP 11

Discussioni simili