ďťż

[php]sorotowanie pryz pobraniu z katalogu

       

Podstrony


telcocafe

Witam. Czy jest jakiś sposób na wyświetlanie pobranych plików z katalogu (np. zdjęcia) w kolejności wg. daty ? Od najnowszego do najstarszego?



Tablica dwuwymiarowa + glob + filectime + własny algorytm sortowania, choćby prosty bąbelkowy
Użytkownik pbnan edytował ten post 19 marzec 2007, 18:44
a jakoś jaśniej ? :D

a jeżeli mam tabele galerii i tabele zdjęć gdzie w tabeli zdjęć mam datę dodania to może coś to da ? problem w tym, ze nie wiem jak to wykorzystać przy moim sposobie pobierania plików który wygląda tak:
$galeria = $_GET['id']; $nazwa = $galeria.".jpg"; $curpath = 'admin/'.$galeria.''; $dir = dir($curpath); $k = 1; while ($file = $dir->read()) { if($k%3==1) echo "<tr>"; $k++; if ($file =='.' || $file=='..' || $file == 'miniatury'){ continue; } echo "<td><a href=\"java script:displayWindow('admin/".$galeria."/".$file."', '800', '600')\">"; echo "<img src='admin/$galeria/$file' width='100' height='100' /></td>"; } $dir->close();
Użytkownik Dawid-San edytował ten post 19 marzec 2007, 18:46
Hę, to masz datę w tabelce w MySQL? Aaa, to wtedy już banał :)

select * from `photos` order_by `photo_date`

I później wyświetlasz normalnie :)
Użytkownik pbnan edytował ten post 19 marzec 2007, 18:53


może jestem głupi albo coś ale jak to wykorzystać? :P

bo nazwa pliku jest pobierana przez pętle i przypisywana do $file

czekaj czekaj czy może być tak ?
$query = "select * from `photos` order_by `photo_date`"; $result = mysql_query($query); while($item = mysql_fetch_array($result)){ $galeria = $_GET['id']; $nazwa = $galeria.".jpg"; $curpath = 'admin/'.$galeria.''; $dir = dir($curpath); $k = 1; while ($file = $dir->read()) { $file = $item['foto_name']; //reszta kodu

czy przekombinowałem ????

No, normalnie masz dzięki temu zapytaniu już posegregowane, teraz wystarczy wyświetlić, jak to już robisz w swojej galerii (ale masz kod zabałaganiony :D).

ale się nie rozumiemy :P

ja doskonale zdaje sobie sprawę z tego, że dzięki temu zapytaniu mam posegregowane zdjęcia w kolejności jak chce :)

ale zdjęcia przecież pobieram pętlą z folderu i przypisuje nazwe pliku do zmiennej $file...więc jak wstawić w to $file nazwę zdjęcia z tablicy? Mógłbyś to poprzeć przykładem ? :P bo inaczej to nie zczaje chyba :D

edit/ dobra już mam :) dzięki za podpowiedź :P to faktycznie banalne hehe
Użytkownik Dawid-San edytował ten post 19 marzec 2007, 19:14
Z góry uprzedzam, że się nie wyspałem w nocy, także proszę nie oczekiwać ode mnie pomyślunku.

Zatem: więc masz nazwy tych zdjęć w bazie danych, czy nie?
Jeśli tak, to napisałem wyżej.

Jeśli nie, to będzie trochę problemów... Ale da się to zrobić :D
Coś takiego:
$i = 0; while (pobieram_z_katalogu) { $arr[$i][0] = nazwa_aktualnego_zdjecia; $arr[$i][1] = data_pliku; $i++; } //sortowanie// $cos_sie_zmienilo = true; while(cos_sie_zmienilo) { $cos_sie_zmienilo = true; for ($i=0; $i<count($arr)-1; $i++) { if ($arr[$i][1] < $arr[$i+1][1]) { //zamiana miejscami, nie chce mi się pokazywać tego $cos_sie_zmienilo = true; } } }
Masz pseudokod, później już tylko wyświetlić (masz w $arr[n][0] nazwę pliku).

//Musiałeś edytować posta? :P

@down: no to przecież zaznaczyłem, że nie myślę dzisiaj :D Taki mały błąd :D
Użytkownik pbnan edytował ten post 19 marzec 2007, 19:32

$cos_sie_zmienilo = true; while(cos_sie_zmienilo) { $cos_sie_zmienilo = true; for ($i=0; $i<count($arr)-1; $i++) { if ($arr[$i][1] < $arr[$i+1][1]) { //zamiana miejscami, nie chce mi się pokazywać tego $cos_sie_zmienilo = true; } } }
Przecież to się zapętli ;> Miało być:
$cos_sie_zmienilo = true; while($cos_sie_zmienilo) { $cos_sie_zmienilo = false; for ($i=0; $i<count($arr)-1; $i++) { if ($arr[$i][1] < $arr[$i+1][1]) { $temp = $arr[$i][1]; $arr[$i][1] = $arr[$i+1][1]; $arr[$i+1][1] = $temp; $cos_sie_zmienilo = true; } } }
Użytkownik bryn edytował ten post 19 marzec 2007, 19:32
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.