Afisare in sens descrescator imagini numerotate ordonat
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
adrian_ady
- Mesaje:80
Afisare in sens descrescator imagini numerotate ordonat
Am acest script care preia si afiseaza imaginile din folder. Deoarece afisarea ar fi mai corecta in sens invers adica de la ultima foto adaugata la prima doresc ajutor sa fac modificarile necesare. Fotografiile sunt numerotate incepand cu '01' si preluate din folder pentru a fi adaugate intr-o galerie fancybox.
Cod: Selectaţi tot
<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>
MarPlo
Mesaje:4343
Salut
Daca fisierele cu imagini sunt in asa fel incarcate, cu numere dupa ordinea incarcarii, ultima imagine e cea cu numarul mai mare. Faci un alt index care este egal cu numarul maxim de parcurs minus $i (cel curent), si devin descrescator.
Cred ca merge acest cod.
Cod: Selectaţi tot
<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
$max_nr = min($total_rows + 1, ($start_img + $limit));
for($i=$start_img; $i<$max_nr; $i++) {
$f = $max_nr - $i; // ca sa aibe numar de la cel mai mare spre cel mic
if($f < 10) $f = '0'. $f;
echo '<a href="images/proiecte/'. $f .'_big.jpg" rel="gallery" title=""><img src="images/proiecte/'. $f .'_small.jpg" alt=""></a>';
}
?>
</div>
- Nu e testat, daca apare vreo eroare incearca sa modifici /sa corectezi.
adrian_ady
Mesaje:80
Multumesc, am incercat insa nu merge (bineinteles, am facut multe teste schimband una, alta). Eu nu am niciun fel de cunostinte in sensul programarii si plecand de la scriptul original am incercat sa inventez si am reusit varianta de mai jos(va rog, sa nu radeti!!!!) care, culmea, merge! Unicul defect este ca la ultima pagina continua sa incarce pozitii(imagini goale) dincolo de imaginea mea nr. "01" care ar trebui sa fie afisata ultima.. Daca reusim sa punem 'stop' la ultima foto, e super! Culmea, daca fac pagina unica $limit = $total_rows totul mrge OK, nu se incarca nimic in plus.
Cod: Selectaţi tot
<div class="gallery" id="gallery-big">
<?
$directory = "images/proiecte/";
$count = count(glob($directory . "*.jpg"));
$total_rows = $count / 2;
$limit = 4; // nr. imagini pe pagina
$nrpg = isset($_GET['page']) ? intval($_GET['page']) : 1; // numarul paginii accesate
$start_img = $total_rows - $nrpg * $limit + $limit; // numarul primei imagini in pagina
$this_script ='test.php?';
// parcurge de la prima imagine pana la maxim adaugat $limit, dar nu mai mare de total
for($i=$start_img; $i>($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>
MarPlo
Mesaje:4343
Codul acesta l-am testat, functioneaza.
Cod: Selectaţi tot
<div class="gallery" id="gallery-big">
<?php
$directory = "images/proiecte/";
$this_script ='proiectetest.php?';
$count = count(glob($directory . "*.jpg"));
$total_rows = $count / 2;
$limit = 4; // nr. imagini pe pagina
$nrpg = isset($_GET['page']) ? intval($_GET['page']) : 1; // numarul paginii accesate
$start_img = min($total_rows, ($total_rows - $nrpg * $limit + $limit)); // numarul primei imagini in pagina (cea mai mare)
$stop_img = max(0, ($start_img - $limit)); // imagine ultim afisata (la care se opreste parcurgerea)
// parcurge descrescator
for($i=$start_img; $i>$stop_img; $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>
adrian_ady
Mesaje:80
Acum chiar ca merge!
Multumesc mult!
Subiecte similare
- Imagini Slider bootstrap
HTML - XHTML - CSS
Salutare,
de curand am cumparat un template de pe teamforest pe care l-am pus pe perlamuntilor.ro ideea e ca ma bate rau bootstrapul asta.
Cum...
- Formular de contact cu upload imagini
Scripturi de pe site
Primul mesaj
Salutare si la multi ani!
Revin cu o intrebare pentru scriptul formular de contact, de la pagina: marplo.net/php-mysql/formular_contact
Este...
Ultimul mesaj
M-am uitat pe codul din formularul de contact.
Am decis sa nu ma complic cu asa multe adaugari si verificari in acel script.
- 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