![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie
chciałbym zmienić jeden z modułów na mojej stronie i do tego potrzebuję przerobić nieco zapytani SQL niestety nie jestem zbyt mocny w te klocki mamy galerię 1 w niej podgalerię 2 i 3 po ustawieniu że ma wyświetlać zdjęcia z galerii np. 1 nie wyświetla zdjęć z podgalerii 2 i3 w niej znajdującej się jak zmienić zapytanie sql ? Kod:
dodanie Kod:
niestety nie działa struktura bazy - tabela kategorii cid int(11) name varchar(255) parent varchar(255) description text ordering int(11) access tinyint(3) published char(1) - tabela zdjęć id int(11) catid int(11) imgtitle text imgauthor varchar(50) imgtext text imgdate varchar(20) imgcounter int(11) imgdownloaded int(11) imgvotes int(11) imgvotesum int(11) published tinyint(1) ordering int(11) imgoriginalname varchar(50) imgfilename varchar(50) imgthumbname varchar(50) checked_out int(11) owner varchar(50) approved int(1) useruploaded int(1) da się z tym coś zrobić ![]() będę ogromnie dźwięczny za pomoc ![]() EDIT: naprawdę nie mam szansy na żadną pomoc ![]() ![]() Ten post edytował artmajster 8.01.2010, 08:41:32 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 107 Pomógł: 9 Dołączył: 16.02.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Ciężko jest tak cokolwiek sensownego odpowiedzieć nie widząc jak to wszystko działa.
Cytat po ustawieniu że ma wyświetlać zdjęcia z galerii np. 1 nie wyświetla zdjęć z podgalerii 2 i3 w niej znajdującej się Rozumiem że chodzi o kliknięcie linka z którego przesyłany jest $catid czyli unikalny ID galerii? Czy wyeliminowałeś warunek dotyczący dostępu użytkownika: AND c.access <= ' . (int) $user->get('aid') ? Tymczasowo usuń ten wiersz żeby wyeliminować tą możliwość. Usuń także tymczasowo te inne warunki: ' AND a.published = 1' ' AND a.approved = 1' ' AND c.published = 1' oraz ORDER BY rand() DESC LIMIT ' . $limit Uzyskamy w ten sposób czyste zapytanie. Najlepszy sposób pracy z zapytaniami to wydrukować je na ekran ze skryptu php zanim zostanie wykonane. Zrób print całego zapytania i wklej. Zobaczymy co wskakuje do zmiennych. Zakładam że przyczyną jest ten fragment: ( $catid ? ' AND ( catid in ( '.$catid.' ) )' : '' ) -------------------- Wszystko należy robić najprościej jak się da, ale nie prościej
Albert Einstein |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 9.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ciężko jest tak cokolwiek sensownego odpowiedzieć nie widząc jak to wszystko działa. Rozumiem że chodzi o kliknięcie linka z którego przesyłany jest $catid czyli unikalny ID galerii? chodzi o wyświetlenie zdjęć z danej galerii - ID wpisuje się w panelu konfiguracyjnego modułu Czy wyeliminowałeś warunek dotyczący dostępu użytkownika: AND c.access <= ' . (int) $user->get('aid') ? Tymczasowo usuń ten wiersz żeby wyeliminować tą możliwość. Usuń także tymczasowo te inne warunki: ' AND a.published = 1' ' AND a.approved = 1' ' AND c.published = 1' dałem na to komentarz oraz ORDER BY rand() DESC LIMIT ' . $limit bez tego wywala mi wszystkie zdjęcia ze wszystkich galerii Najlepszy sposób pracy z zapytaniami to wydrukować je na ekran ze skryptu php zanim zostanie wykonane. Zrób print całego zapytania i wklej. Zobaczymy co wskakuje do zmiennych. niestety jestem totalnym "przedszkolakiem" jeżeli chodzi o php sql ![]() Zakładam że przyczyną jest ten fragment: ( $catid ? ' AND ( catid in ( '.$catid.' ) )' : '' ) bez tego wyrzuca zdjęcia ze wszystkich galerii i podgalerii więc rozumiem że przerobienie tego kodu nie jest ani małe ani proste. Prada / Fałsz * * niepotrzebne skreślić |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 107 Pomógł: 9 Dołączył: 16.02.2004 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Przerobienie tego kodu jest możliwe pod warunkiem że człowiek wie co robi.
Do zapytania wchodzą różne wartości w postaci zmiennych. Nie jestem w stanie pomóc jeżeli nie wiem jak wygląda zapytanie które wykonuje baza, czyli co znajduje się w zmiennych. Wpisz do kodu php print "SELECT * ........." <- pomiędzy cudzysłów wklej całe zapytanie a potem wklej na forum to co się wyświetliło. -------------------- Wszystko należy robić najprościej jak się da, ale nie prościej
Albert Einstein |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 20:46 |