Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Galeria - uno problemo
lukash82
post
Post #1





Grupa: Zarejestrowani
Postów: 320
Pomógł: 2
Dołączył: 17.03.2006
Skąd: Siemianowice

Ostrzeżenie: (0%)
-----


Witam. Mam takie pytanko. Robię sobie taka prostą galerię ale stanąłem w jednym miejscu i nie mogę znaleźć błędu... A więc mam bazę danych, a w niej listę zdjęć i każde przynależy do jakiejś kategorii. Mam zapytanie do bazy aby wyciągnął mi wszytskie kategorie bez powtórzeń, to jest ok. Mam katalog z miniaturkami a w nim foldery ze zdjęciami, które nazywają się tak samo jak dana kategoria... I teraz chciałbym uzyskać taki efekt, że automatycznie wybierają mi się zdjęcia po jednym losowym z każdego katalogu. Kod wygląda tak:
  1. <?php
  2. $zapytanie = "SELECT DISTINCT kategoria FROM galeria";
  3. $wynik=mysql_query($zapytanie);
  4.  
  5. $n=0;
  6.            
  7. while ($row = mysql_fetch_array($wynik))
  8. {  
  9.    extract($row);
  10.    $katalog = 'mini/' . $row['kategoria'];
  11.                            
  12.    if(@$d = opendir($katalog))
  13.    {
  14.        while (!(($plik = readdir($d)) === false))
  15.        {
  16.            if(stristr($plik, '.jpg') or stristr($plik, '.jpeg'))
  17.            {
  18.                $n++;
  19.                $losowy_obr[$n] = "$plik";
  20.            }
  21.        }
  22.        closedir($d);
  23.    
  24.        if(!empty($losowy_obr))
  25.        {
  26.            $losowa_poz = array_rand($losowy_obr);                                          
  27.            echo "<img src=" . $katalog . "/" . $losowy_obr[$losowa_poz] . "><br>";
  28.        }
  29.        else
  30.        {
  31.            echo 'Brak zdjęć';
  32.        }
  33.    }
  34. else echo 'Błąd';
  35. }
  36. ?>

Kod jest zapożyczony ale musiałem trochę go dostosować do swoich potrzeb. A więc katalog z miniaturkami nazywa się "mini". Nie wiem dlaczego polecenie opendir otwiera mi tylko tak jakby katalog mini i z niego wczytuje wszystkie obrazki do tablicy nie zwracając uwagi na to, że zdjęcia podzielone są na katalogi a tak mu sugeruje w zmiennej $katalog. Okazuje się potem, że zdjęcie wylosowane z tablicy w losowych przypadkach nie znajdują się w tych katalogach, z których chcę je wyświetlić. Jak zrobić aby polecenie opendir "zaglądało" tylko do danego podfolderu i tak jakby z jego zawartości robiło tablicę? Jeśli możecie coś podpowiedzieć to będę wdzięczny. Pozdrawiam, Łukasz.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:53