Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Własne sortowanie wgranych zdjęć według lp.
Forum PHP.pl > Forum > Przedszkole
zibihehe
Witam, chodzi o dość banalną sprawę, choć może nie jest aż tak banalna jak mi się wydaje. Mianowicie potrzebuje posortować/poukładać zdjęcia od góry do dołu tak jak chce żeby były poukładane a nie tak jak zostały przesłane na serwer i zapisane do bazy. Mam bazę w txt i są w niej np. fot1.jpg || fot2.jpg || fot3.jpg || fot4.jpg. W pole obok zdjęcia wpisuje jego pozycje lp. jaką chce żeby miało. Próbowałem pętlami ale opornie mi to idzie. :/
Z góry dziękuje za wszelkie podpowiedzi. smile.gif
gorden
hmmm... gotowca nie chce mi się pisać, ale moge Ci napisać jak to może wyglądać: inputy obok zdjęcia mają w value swoją nazwe. po wpisaniu numerków który jest który przepisz pętlą wszystkie inputy do tablicy (w kolejności od uzupełnionych inputów). teraz już masz ładnie posegregowane i wystarczy przypisać do to sesji, która będzie wyświetlać grafiki po kolei tak, jak je zapiszesz dopóki znów nie zostanie użyty formularz.
thek
Jakoś nie widzę problemów... Skoro OBOK zdjęcia zapisujesz jego pożądaną pozycję to jaki problem użyć funkcji sortującej?
Załóżmy, że w pliku txt masz:
Kod
fot1.jpg 4 || fot2.jpg 2 || fot3.jpg 1 || fot4.jpg 3

Wczytujesz to i robisz explode po ciągu ' || ', który zrobi nam:
  1. $zdjecia = array( [0] => 'fot1.jpg 4', [1] = 'fot2.jpg 2', [2] => 'fot3.jpg 1', [3] => 'fot4.jpg 3' );

Od teraz masz przynajmniej KILKA możliwości rozwiązania problemu.
1) W pętli możesz znów zrobić explode, który poleci po spacji i utworzy:
  1. $zdjecia_unsort = array( [0] => array( [0] => 'fot1.jpg', [1] => 4 ), [1] = array( [0] => 'fot2.jpg', [1] => 2 ), [2] => array( [0] => 'fot3.jpg', [1] => 1 ), [3] => array( [0] => 'fot4.jpg', [1] => 3 ) );
a teraz zdefiniować usort dla mutlidimensional array.
2) od razu usort z wyrażeniem regularnym.
3) wyrażenie regularne z reorganizacją tablicy do postaci:
  1. $zdjecia = array( [4] => 'fot1.jpg', [2] = 'fot2.jpg', [1] => 'fot3.jpg', [3] => 'fot4.jpg' );

i ksort

Oraz wiele innych...
zibihehe
Dzięki trochę naświetliło mi to sprawę, ps. mała dygresja zamiast
  1. array( [0] => 'fot1.jpg 4'
musi być
  1. array( 0 => 'fot1.jpg 4'
Wielkie dzięki za pomoc! smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.