Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Własne sortowanie wgranych zdjęć według lp.
zibihehe
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


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. :/ (IMG:http://x-trall.tk/przyklad-pomoc.jpg)
Z góry dziękuje za wszelkie podpowiedzi. (IMG:style_emoticons/default/smile.gif)

Ten post edytował zibihehe 29.05.2011, 11:38:02
Go to the top of the page
+Quote Post
gorden
post
Post #2





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


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.
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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...
Go to the top of the page
+Quote Post
zibihehe
post
Post #4





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.08.2009

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


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! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 25.08.2025 - 04:39