Afisare foto in mai multe pagini
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
adrian_ady
- Mesaje:80
Afisare foto in mai multe pagini
Deci, am un folder in care am incarcat toate fotografiile pentru a folosi Fancybox. Toate bune, functioneaza, insa nu stiu cum sa fac ca aceste foto sa fie luate si impartite automat in mai multe pagini, cate 20 foto/pagina. In prezent, am creat 10 pagini distincte cu cate 20 foto fiecare. Mentionez ca in site am deja un cod pentru dividere in pagini dar nu stiu cum sa-l aplic la ceeace doresc sa fac.
Fotografiile le chem asa:
Cod: Selectaţi tot
<script type="text/javascript">
$(document).ready(function() {
$('#gallery a').fancybox();
});
</script>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="">
<tr>
<td>
<div id="gallery">
<a href="images/proiecte/01_big.jpg" rel="gallery" title=""><img src="images/proiecte/01_small.jpg" alt=""></a>
<a href="images/proiecte/02_big.jpg" rel="gallery" title=""><img src="images/proiecte/02_small.jpg" alt=""></a>
<a href="images/proiecte/03_big.jpg" rel="gallery" title=""><img src="images/proiecte/03_small.jpg" alt=""></a>
......................................................................................................................................
</div>
</td></tr></table>
Afisarea de pagini este:
Cod: Selectaţi tot
<p align="right" style="padding-top : 10px">Pagina: <? Navigation::display($total_rows,$page,$limit,$this_script); ?></p>
Codul pagini este:
Cod: Selectaţi tot
class Navigation
{
// $total_rows = total rows
// $page = current page, if(empty($_GET['page'])) $page=1; else $page = $_GET['page'];
// $limit = number of rows per page, $limit != 0
// $this_script = file name, it must finish with '?' or '&'
public function __construct()
{
//..
}
static function display_admin($total_rows,$page,$limit,$this_script) // first page = 1
{
if(empty($page)) $page=1;
if($page > 1)
{
echo "<a href='".$this_script."page=".($page-1)."'> « </a> ";
}
for($i=1;$i<=ceil($total_rows/$limit);$i++)
{
if($i == $page)
echo '<span class="pageListing_fundal">'.$i."</span> ";
else
echo "<a href='".$this_script."page=".$i."' class='pageListing'>".$i."</a> ";
}
if($page < ($total_rows/$limit))
{
echo "<a href='".$this_script."page=".($page+1)."' > »</a> ";
}
}
static function display($total_rows,$page,$limit,$this_script) // first page = 1
{
if(empty($page)) $page=1;
if($page > 1)
{
echo "<a href='".$this_script."page=".($page-1)."'> « </a> ";
}
for($i=1;$i<=ceil($total_rows/$limit);$i++)
{
if($i == $page)
echo '<span class="page">'.$i."</span> ";
else
echo "<a href='".$this_script."page=".$i."'class='LinkPageListing'>".$i."</a> ";
}
if($page < ($total_rows/$limit))
{
echo "<a href='".$this_script."page=".($page+1)."' > »</a> ";
}
}
}
?>
Multumesc anticipat !
MarPlo
Mesaje:4343
Incearca acest cod in fisierul php. Daca stii php, te descurci.
Cod: Selectaţi tot
<script type="text/javascript">
$(document).ready(function() {
$('#gallery a').fancybox();
});
</script>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="">
<tr>
<td>
<div id="gallery">
<?php
$total_imgs = 200; // aici numarul total de imagini
$imgs_pg = 20; // nr. imagini pe pagina
$nrpg = isset($_GET['page']) ? intval($_GET['page']) : 0; // numarul paginii accesate
$start_img = $total_imgs - $nrpg * $imgs_pg; // numarul primei imagini in pagina
// parcurge de la prima imagine pana la maxim adaugat $img_pg, dar nu mai mare de total
for($i=$start_img; $i<min($total_imgs, ($start_img + $imgs_pg)); $i++) {
if($i < 10) $i = '0'. $i;
echo '<a href="images/proiecte/'. $i .'_big.jpg" rel="gallery" title=""><img src="images/proiecte/'. $i .'_small.jpg" alt=""></a>';
}
?>
</div>
</td></tr></table>
adrian_ady
Mesaje:80
Cu ajutorul MarPlo am ajuns la varianta functionala:
Mii de multumiri!
- Fisierul "navigare.php" cu clasa pentru creare link-uri pt paginare.
Cod: Selectaţi tot
<?php
class Navigation {
// $total_rows = total rows
// $page = current page, if(empty($_GET['page'])) $page=1; else $page = $_GET['page'];
// $limit = number of rows per page, $limit != 0
// $this_script = file name, it must finish with '?' or '&'
public function __construct()
{
//..
}
static function display_admin($total_rows,$page,$limit,$this_script) // first page = 1
{
if(empty($page)) $page=1;
if($page > 1)
{
echo "<a href='".$this_script."page=".($page-1)."'> « </a> ";
}
for($i=1;$i<=ceil($total_rows/$limit);$i++)
{
if($i == $page)
echo '<span class="pageListing_fundal">'.$i."</span> ";
else
echo "<a href='".$this_script."page=".$i."' class='pageListing'>".$i."</a> ";
}
if($page < ($total_rows/$limit))
{
echo "<a href='".$this_script."page=".($page+1)."' > »</a> ";
}
}
static function display($total_rows,$page,$limit,$this_script) // first page = 1
{
if(empty($page)) $page=1;
if($page > 1)
{
echo "<a href='".$this_script."page=".($page-1)."'> « </a> ";
}
for($i=1;$i<=ceil($total_rows/$limit);$i++)
{
if($i == $page)
echo '<span class="page">'.$i."</span> ";
else
echo "<a href='".$this_script."page=".$i."'class='LinkPageListing'>".$i."</a> ";
}
if($page < ($total_rows/$limit))
{
echo "<a href='".$this_script."page=".($page+1)."' > »</a> ";
}
}
}
- Fisierul php pentru paginare imagini.
Cod: Selectaţi tot
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<div id="gallery">
<?php
include 'navigare.php'; // clasa Navigare
$directory = "images/proiecte/";
$count = count(glob($directory . "*.jpg"));
$total_rows = $count / 2;
$limit = 20; // nr. imagini pe pagina
$nrpg = isset($_GET['page']) ? intval($_GET['page']) : 1; // numarul paginii accesate
$start_img = $nrpg * $limit - $limit + 1; // numarul primei imagini in pagina
$this_script ='proiectetest.php?';
// parcurge de la prima imagine pana la maxim adaugat $limit, dar nu mai mare de total
for($i=$start_img; $i<min($total_rows + 1, ($start_img + $limit)); $i++) {
if($i < 10) $i = '0'. $i;
echo '<a href="images/proiecte/'. $i .'_big.jpg" rel="gallery" title=""><img src="images/proiecte/'. $i .'_small.jpg" alt=""></a>';
}
?>
</div>
</td></tr>
<tr><td>
<p align="right" style="padding-top : 10px">Pagina: <? Navigation::display($total_rows,$nrpg,$limit,'proiectetest.php?'); ?></p>
</td></tr></table>
Subiecte similare
- Afisare numar cel mai mare dintr o coloana
PHP - MySQL - XML
Primul mesaj
Bună Marplo
Vreau să extrag din coloan pret cel mai mare numar ca de exemplu 4444.
Mie imi afisează 54 în loc de 4444, dacă în loc de 4444 modific...
Ultimul mesaj
Am schimbat `pret` varchar(20) DEFAULT NULL in `pret` int(11) NOT NULL ca la tine si merge.
Multumesc