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
-
Select dupa mai multe coloane in baza de date
PHP - MySQL - XML
Primul mesaj
Salut
am si eu o baza de date zona_geografica in care am rubricile
id |nume_tara |nume_oras |id_tara |id_oras | nume_zona | id_zona | data
1 |...
Ultimul mesaj
Multumesc mult pentru ajutor .
-
Obiect aleatoriu din mai multe Array cu procentaj de șanse în JS
JavaScript - jQuery - Ajax
Primul mesaj
Am 3 Array de obiecte în JavaScript:
const fruits =
const car =
const books =
Un array temporar în care voi stoca obiecte aleatorii alese:...
Ultimul mesaj
Trebuie să obții două numere aleatorii:
- primul care decide ce grup alege,
- al doilea care alege un articol din acesta.
Generăm un număr...
-
Separare array de obiecte în mai multe array-uri
JavaScript - jQuery - Ajax
Primul mesaj
Am un array de obiecte, si pentru crearea unui grafic trebuie să îl împart în 3 array-uri diferite. Cum se face cu JS?
const dataOverview = ;...
Ultimul mesaj
Este simplu, aplici functia map() .
var series1 = dataOverview.map(x => x.series1);
var series2 = dataOverview.map(x => x.series2);
var...
-
Afisare optiune selectata intr-un Div
JavaScript - jQuery - Ajax
Primul mesaj
Cum pot face ca atunci cand e selectata o optiune dintr-o lista <select> sa fie afisata intr-un Div valoarea acelei optiuni.
Am acest cod...
Ultimul mesaj
Cu JavaScript adaugi un eveniment 'change' la elementul <select> care se va declansa cand o optiune e selectata.
In interiorul acelui...
-
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
-
Afisare cu animatie continut adaugat cu JavaScript
JavaScript - jQuery - Ajax
Primul mesaj
Ideea pe care vreau sa o fac e că la clic pe un buton, conținutul vechi e înlocuit cu nou conținut HTML adăugat cu javascript.
Vreau ca noul...
Ultimul mesaj
Pentru a declanșa o tranziție CSS, modifica starea CSS după ce ai introdus codul HTML. Poți face asta schimbând o clasă (la container sau la un...