![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Posiadam taki kod, który wyświetla galerię
w tabeli są kolumny: id, zdjecie, kategoria, opis. moim problemem jest wyświetlenie w stylu: KATEGORIA zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- KATEGORIA zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- << poprzednia str | następna str >> chodzi o to, żeby wyświetlały się zdjęcia, które między sobą mają taką samą nazwą kategorii w jednym bloku a następnie jak już takie się skończą to znowu zdjęcia które między sobą mają taką samą nazwę kategorii i tak do wyczerpania zapasów. i dochodzi kwestia stronicowania tego. (chociaż z tym jeszcze nie próbowałem nic robić jest tego tyle nan forum że powinienem sobie poradzić także ważniejsza kwestia to wyświetlanie zdjęć, ale będę wdzięczny za jakieś sugestie odnośnie stronicowania również) Pozdrawiam Ten post edytował THOR_JAN 22.02.2010, 21:50:23 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 34 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Oddzielne zapytanie dla każdej kategorii.
Stronicowanie: http://forum.php.pl/index.php?showtopic=14...icowanie+danych lub cokolwiek co pojaw się po wpisaniu w wyszukiwarkę: stronicowanie danych Pozdrawiam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Problem w tym że zdjęcie może mieć wpisaną kategorię np. "koty" drugie również "koty" a trzecie już np. "psy"
i teraz te które mają koty to mają się wyświetlać w jednym bloku a te z psy w kolejnym zdjęcia są dodawane przez użytkownika i ja nie znam kategorii jaką wpisze a chciałbym żeby to się "robiło samo" czyli porównywało kategorie i wyświetlało w galerii. próbowałem z pętlom IF, ELSE IF ale albo była nie doskonała albo nie w tym kierunku poszedłem musiałbym pobrać kategorie z tabeli i poklei porównywać je ze sobą. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 251 Pomógł: 34 Dołączył: 7.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Wiem, że to paskudne rozwiązanie, niestety żadne inne nie przychodzi mi aktualnie na myśl:
Do tablicy $cat wrzucamy tak naprawdę wszelkie istniejące wartości pola kategorie. Potem w pętli dla każdej znalezionej kategorii wywołujemy zapytanie i wypisujemy wyniki. Ile kategorii, tyle zapytań. Chętnie sam zobaczyłbym lepsze rozwiązanie. Pozdrawiam. Ten post edytował DiH 22.02.2010, 23:47:58 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Przy małej ilości zdjęć jest ok problemy sie pojawiają przy większej ilości.
teraz czysto teoretycznie (przez noc przyszło do głowy): 1. mając tablice zapisać wszystkie kategorie, które się nie powtarzają. 2. z tych kategorii do pętli przekazać wartość każdej z niej 3. i wykorzystać do zapytanie sql-owego 4. w zapytaniu wyświetlić te które w pozycji kategoria są takie same jak nazwy przekazane do tablicy 5. i tak z każdym wyrażeniem z tablicy czysto teoretyczna rzecz, zastanawiam się czy to nie takie masło maślane i czy w ogóle zadziała?? i jeszcze nie mam pomysłu jak to zaimplementować. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 31 Dołączył: 30.03.2009 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
zrób okno selekta, z niego wybieraj odpowiednią kategorię i wyświetlaj,
tabeta1 id_t1 auto kategoria tabela2 id_t2 autoinc id_t1_z_tabeli1 adres_fotki opis_fotki napisz selekta do pierwszej tabeli, na jego podstawie wyświetlaj wybraną galerię. oczywiście najpierw te tabele trzeba wypełnić danymi. jak pierwszy selekt będzie za długi to trzeba zaplanować dwa lub trzy zależne selekty-wtedy możesz tworzyć podkategorie. Ten post edytował celbarowicz 23.02.2010, 09:09:00 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dobry pomysł w przyszłości może się przydać
z tym, że mi chodzi o wyświetlenie tego bezpośrednio na stronie wszystkiego jedno pod drugim tak jak to starałem się zobrazować w pierwszym poście. Spróbuje powalczy z tym co już wcześniej było w moich przemyśleniach (tablica i porównywanie z wyświetlaniem) zobaczy się co z tego wyjdzie. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Implementacja Twojego rozwiązania:
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Genialne "mortus"
dokładnie to o co mi chodziło z mojej strony wielki ukłon w Twoim kierunku. Pozdrawiam pozostało rozpocząć walkę ze stronicowaniem.
próbuje zrobić stronicowanie (zapożyczone z forum) ale wszelkie próby spełzają na tym, że zlicza ilość zdjęć w tabeli i zamiast wyświetlić 3 zdjęcia na strone wyświetla 3 kategorie na strone wiem ,że błędem jest ale zostawiłem to w momencie kiedy jeszcze cokolwiek związanego ze stronicowaniem działało ;] mam problem żeby uzyskać taki efekt, że wyświetlają się 3 zdjęcia nie zależnie z jakiej kategori są i żeby na kolejnej stronie pojawiła się ponownie nazwa kategori jeśli dana kategoria była dzielona na najmniej dwie strony (stronicowanie działa na wersji galeri gdzie nie jest wyświetlana nazwa kategori nad zdjęciami danej kategori) i taka sprawa czy stronicowanie za pomocą LIMIT będzie dobrym pomysłem przy w miarę nie wielkiej galeri ok 100~200 zdjęć ? ostatnia kwestja dotyczy samej nawigacji wyświetlanie numerków od 1 do n nie jest zbyt estetyczne jak część tych cyfr zastąpić np. " ... " PROSZĘ O JAKIEKOLWIEK SUGESTIE POMOCNE W ROZWIĄZANIU PROBLEMÓW |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
O stronicowaniu jest już masa tematów tutaj, więc radze przejrzeć, bo są zgrabne i krótkie kody także na paginację z użyciem (...) zamiast wyświetlać wszystko. Skąd to wiem? Bo sam taki na forum wrzucałem
![]() Część z podziałem na strony niezależnie od kategorii lub zależnie to nie problem. Nie rozumiem jednak zwrotu: "żeby na kolejnej stronie pojawiła się ponownie nazwa kategori jeśli dana kategoria była dzielona na najmniej dwie strony". Trochę to nie po polsku i trudno mi sens tego zrozumieć. Po prostu nie mogę wyobrazić o co Ci chodzi. Coś w stylu wyświetlenia tylko tych kategorii, które mają minimum 2 strony rezultatów czy może źle rozumiem? Gdybyś mógł doprecyzować w języku bardziej informatycznym lub rzucił prostym przykładem, opisem jak to wygląda w działaniu. -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
jest coś w stylu
KATEGORIA zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- KATEGORIA zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- << poprzednia str | następna str >> i jak to będzie wyświetlane z podziałem na strony to teoretycznie może wyjś coś takiego ====== 1 strona ======= KATEGORIA a zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie << poprzednia str | następna str >> ====== 2 strona ======= zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- KATEGORIA b zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- << poprzednia str | następna str >> a ja chciałbym żeby wyglądało tak ====== 1 strona ======= KATEGORIA a zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie << poprzednia str | następna str >> ====== 2 strona ======= KATEGORIA a zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- KATEGORIA b zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie zdjęcie | zdjęcie | zdjęcie ------------------------------------------------- << poprzednia str | następna str >> a co do stronicowania przejżałem forum i próbowałem zastosowa to u siebie niestety bez efektu tak jak wspominałem jeśli nie wyświetlam kategori u góry to całe stronicowanie działa poprawnie wyświetlam coś w stylu zdjęcie | zdjęcie | zdjęcie opis | opis | opis zdjęcie | zdjęcie | zdjęcie opis | opis | opis ------------------------------------------------- << poprzednia str | następna str >> problem mam w momencie wprowadzenia kategori. zblokowało mnie i straciły mi się pomysły na rozwiązanie problemu. Pozdrawiam |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Może źle myślę, ale skoro masz na pierwszej stronie brak jakiejkolwiek kategorii poza jedną, to jak na drugiej stronie miała by się ona pojawić z powietrza? Znaczy nie miała X pierwszych zdjęć a na drugiej stronie nagle się one pojawiły? Przecież to niemożliwe. Na pierwszej stronie będziesz miał wszystkie kategorie a na następnych mogą one najwyżej się nie pojawić, gdy zdjęć braknie. Poza tym sam wspomniałeś, że zdjęcia na pierwszej są 3 losowo z wszystkich brane. Jak dla mnie z obrazka wynika, że jedynie musisz wyciągnąć przed grupą zdjęć tylko nazwę kategorii. To można zrobić choćby przez pobranie nazwy kategorii z pierwszego zdjęcia.
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
postaram sie wytlumaczyć jeszcze raz o co mi chodzi bo chyba sie nie bardzo potrafimy zrozumiec
mam kod
Wcześniej przed stronicowaniem wyświetli się coś takiego: == STRONA galeri == KATEGORIA "A" zdjęcie 1 | zdjęcie 2| zdjęcie 3| opis |opis |opis | zdjęcie 4 | zdjęcie 5| zdjęcie 6| opis |opis |opis | ------------------------------------------------- KATEGORIA "B" zdjęcie 7 | zdjęcie 8| zdjęcie 8| opis |opis |opis | zdjęcie 10| zdjęcie 11| zdjęcie 12| opis |opis |opis | ------------------------------------------------- nie wiem gdzie mam wstawic
zeby uzyskac taki efekt: (powiedzmy ze chce 5 zdjec na strone i wyświetla się kategoria zdjęcia/zdjęć) == STRONA galeri?page1 == KATEGORIA "A" zdjęcie 1 | zdjęcie 2| zdjęcie 3| opis |opis |opis | zdjęcie 4 | zdjęcie 5| opis |opis | następna str >> == STRONA galeri?page2 == KATEGORIA "A" zdjęcie 6 | opis | ------------------------------------------------- KATEGORIA "B" zdjęcie 7 | zdjęcie 8| zdjęcie 8| opis |opis |opis | zdjęcie 10| opis | << poprzednia str | następna str >> == STRONA galeri?page3 == KATEGORIA "B" zdjęcie 11| zdjęcie 12| opis |opis | ------------------------------------------------- << poprzednia str Narazie doszedłem do tekiego efektu gdzie wyświetla się np 3 kategorie na strone a w tych kategoriach może być " n " zdjęć i w efekcie może być np 100 zdjęć z kategori "A" na jednej stronie a to nie oto chodzi |
|
|
![]()
Post
#14
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jeśli chcesz zrobić tak jak teraz to nawet zapytanie musisz inaczej skonstruować. Zauważ, że Ty wyświetlasz kompletnie co innego niż nam opisujesz. WCALE NIE robisz select po kategorii w warunku, tylko wyświetlasz wszystkie zdjęcia posortowane według kategorii. Nie masz więc WHERE kategoria =, tylko ORDER BY kategoria, a to poważna różnica. Jak to teraz zrobić najprościej? Bierzesz zapytanie
Teraz pobierasz kategorię pierwszego zdjęcia i wrzucasz ją do góry oraz do zmiennej, powiedzmy $jakaś Resetujesz wskaźnik wyniku, by znów wskazywał na początek tablicy wyników. Teraz w pętli lecisz po wszystkich zdjęciach z zapytania i sprawdzasz NAJPIERW, czy podane zdjęcia jest z tej samej, czy innej kategorii. Jeśli z tej samej, nie robisz nic. Jeśli z innej to zmieniasz zmienną $jakaś na tę nową i robisz nową kategorię na stronie. Proste? ![]() EDIT: Zawsze możesz też sobie odpuścić resetowanie i polecieć po prostu dalej w pętli, ale wtedy musisz dodatkowo zrobić przed pętlą odczyt danych tego rekordu i już teraz wrzucenie go na stronę, by nie zostały one "zgubione". Kwestia tylko tego, czy chcesz dublować kod jeśli piszesz strukturalnie. Sensowniej według mnie jest utworzyć sobie strukturę danych jako obiekt lub tablicę i do niej dane przerzucić, by potem widok sam to sobie wygenerował. Miałbyś wtedy coś w stylu: Takie coś ładniej się nawet będzie potem przetwarzać.
Powód edycji: [thek]: dodatek w różnicowaniu mieszanie logika+widok, lub separacja ich
-------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
przyznam szczerze ze poziom zaawansowania w kodowaniu php jest na poziomie kartofla
głównie ucze się (nie wiem czy to dobry sposób, chyba nie bardzo) na podstawie tego co wczesniej widzialem i potrafie to przeanalizowac i z tego wywnioskowac na jakiej zasadzie to dziala cala terminologia jak klasy wskaźniki, ect. nie jest mi znana możliwe że to wykozystuje ale nie wiem jak to sie nazywa to co mi przedstawiles " thek" jest dość jasno wytłumaczone ale mój poziom nie pozwala na wykożystanie tego niekiedy nawet google ani to forum nie jest wstanie odpowiedzieć na moje pytania podejzewam ze w niedlugim czasie chwyce się jakiegos konkretnego podręcznika. na ten moment nie jestem wstanie wykożystać Twoich wskazówek " thek " ale dzięki za chęci pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 02:25 |