Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
[PHP] Nieprawidłowo działająca galeria zdjęć+ stronicowanie - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: [PHP] Nieprawidłowo działająca galeria zdjęć+ stronicowanie (/thread-php-nieprawidlowo-dzialajaca-galeria-zdjec-stronicowanie)



[PHP] Nieprawidłowo działająca galeria zdjęć+ stronicowanie - martinprz - 23-11-2012

Witam,

Jeśli możecie doradźcie mi proszę dlaczego poniższy skrypt nie działa prawidłowo? Działanie jego polega na tym, że miniaturki i zdjęcia pobierane są z dwóch folderów ze zdjęciami, i umieszczane na stronie pokaz_wpis.php, pod opisem wpisu. Zdjęcia pojawiaja się dla każdego wpisu prawidłowo, ale nie wiem dlaczego na końcu zawsze dodawany jest dodatkowy div bez zdjęcia? Czyli wygląda to tak, że pobierane jest np. 6 zdjęć, które są w folderze, a na stronie oprócz nich pojawia się dodatkowo automatycznie pusty div bez zdjęcia- nie wiem dlaczego?Sad

I drugie pytanie dotyczy tego poprawić działanie skryptu stronicowania zdjęć z galerii, chodzi mi tylko o to, żeby można było pokazywać na stronie np. 6 zdjęć a po przekroczeniu tej liczby, żebyśmy byli przenoszeni na drugą stronę. Na razie tylko poprawnie pokazuje mi liczbę zdjęć na stronie.


Skrypt wyświetlający zdjęcia wygląda następująco.

Kod PHP:
if(isset($_GET['strona_zdjec_galerii'])==true)
            
$strona=(($_GET['strona_zdjec_galerii']-1)*6);
            else
                
$strona=0;

//wczytujemy zdjęcia

$zdjecie_mini=glob("zdjecia_do_wpisow_mini/{$_GET['id_wpisu']}_mini/*.*"); 
$zdjecie_duze=glob("zdjecia_do_wpisow_duze/{$_GET['id_wpisu']}_duze/*.*");


$licznik=0;

while(
$licznik<count($zdjecie_mini))
{
    
    echo 
"<div class='obrazek'>";//ustawione w css na float: left
    
    
echo "<a href='{$zdjecie_duze[$licznik]}' style='width: 500px; height: 400px; '><img src='{$zdjecie_mini[$licznik]}' alt='zdjęcie małe' style='width: 250px; height: 220px; border: 1px solid red;  display: block; margin: 0 auto'></a>";
    
    echo 
"</div>";
    
$licznik++;
}

echo 
"<div class='clear'></div>";
?>


Skrypt stroniowania jest taki:

Kod PHP:
<?php

$zdjecie_mini
=glob("zdjecia_do_wpisow_mini/{$_GET['id_wpisu']}_mini/*.*"); 



                    
                    
$zdjecia_galerii=count($zdjecie_mini);
                    
                    echo 
"<span style='margin-left: 100px; '>Zdjęć</span><span style='margin-left:10px; color: green;'>( {$zdjecia_galerii} )</span></span>";
                    
                    
$liczba_stron=ceil($zdjecia_galerii/6); //liczba zdjęć i zaokraglac w gore-ceil (floor-zaokraglenie w dol)
                    
                    
echo "<span  style='margin-left: 50px;'>";
                    
                    
$licznik=1;
                    
                    while(
$licznik<=$liczba_stron//wyswietli tyle razy ile mamy liczbe stron
                    
{
                    echo 
"<span style=' margin-left: 10px;'> [ <a href='pokaz_wpis.php?strona_zdjec_galerii=$licznik#obrazek' style='color: red;'>{$licznik} </a> ]</span>";//numery grup zdjęć, #obrazek- na koncu linku przenosi nas w miejsce wystapienia diva (div zdjecia), i trzeba objac wszystkie komentarze w divach
                    
                    
$licznik++;
                    }
                    
            
?>

Za pomoc będę bardzo wdzięczny.

Pozdrawiam,

martinprz


RE: [PHP] Nieprawidłowo działająca galeria zdjęć+ stronicowanie - Marys - 23-11-2012

Zgaduje, że w pierwszy kodzie masz na końcu echo "<div class='clear'></div>";


RE: [PHP] Nieprawidłowo działająca galeria zdjęć+ stronicowanie - martinprz - 26-11-2012

ten div jest do tego, żeby zdjecia pojawiały się jeden obom drugiego, bo w stylach css div ze zdjęciem ma float ustawione na left i dlatego zdjęcia pojawiają się jed
pojawiają się jedno koło drugiego.