[PHP/MySQL] Następne i poprzednie zdjęcie w galerii

Odpowiedz Nowy wątek
2006-10-02 21:46
0

Witam, odrazu piszę, że logowanie do bazy MySQL i wszystkie nazwy tabel i kolumn mam sprawdzone i dobrze napisane :)
Taki mam kodzik fajnej galerii, ale ona nie miała zrobionego przeglądania zdjęć (przycisk next i prevorius), więc dorobiłem sobię przed wydrukowaniem tych przycisków, które znajdują się nad zdjęciem:

$photonum = mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM gallery_photos"));
if ($pid==1) $decpid=$photonum[0];
else $decpid=$pid-1;
if ($pid==$photonum[0]) $incpid=1;
else $incpid=$pid+1;

oraz te linki w wypisanym rezultacie:

<a href='index.php?strona=galeria&cid=$cid&pid=$decpid'><< poprzednie zdjęcie</a> | <a href='index.php?strona=galeria&cid=$cid&pid=$incpid'>następne zdjęcie >></a>

I to działa, tylko, że doszły mi 3 galerie (zmienna $cid opisuje numery galerii, a $pid to numer zdjęcia), no i teraz jak klikam np. na "poprzednie zdjęcie" to oczywiście nie patrzy na to która to galeria tylko ciągle zmniejsza numer o jeden, próbowałem napisać prosty kodzik aby uwzględniał jednak galerię w której znajduje się internauta:

$incpid=0;
$decpid=0;
$pns = mysql_fetch_array(mysql_query("SELECT * FROM  'gallery_photos' WHERE photo_category=$cid"));
while($rek = mysql_fetch_array($pns))
    {
    $idd=$rek['photo_id'];
        if ($idd==$pid)
        {
            $incpid=$idd+1;
$decpid=$idd-1;
        }
    }

Na razie nie uwzględniałem w nim co będzie gdy ktoś jest na początku i kliknie wstecz, albo gdy ktoś jest na końcu i kliknie w przód, ale tak czy inaczej decpid i incpid w rezultacie zawsze równają się zero :(
Na razie zostawiłem to pierwsze rozwiązanie i jest widoczne na http://www.cpp.9o.pl/index.php?strona=galeria
A jeśli chodzi o drugie to prosiłbym o wsparcie ze strony kodu bo kompletnie nie mam pojęcia gdzie może być błąd :(
Z góry dzięki za odpowiedzi :)

Pozostało 580 znaków

2006-10-03 18:10
0

Next:

"SELECT * FROM  `gallery_photos` WHERE photo_id > $pid ORDER BY photo_id ASC LIMIT 1"

Previous:

"SELECT * FROM  `gallery_photos` WHERE photo_id < $pid ORDER BY photo_id DESC LIMIT 1"

Dostajesz (lub nie, jeśli nie ma) po jednym rekordzie, następny i poprzedni.

Pozostało 580 znaków

2006-10-03 18:53
0

Dzięki, Twoja odpowiedź bardzo mi pomogła :) Do WHERE jeszcze dodałem warunek photo_category=$cid i działa :]
Thanks :)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0