Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Как реализовать фильтр фотографий
Форумы портала PHP.SU » » Вопросы новичков » Как реализовать фильтр фотографий

Страниц (1): [1]
 

1. maxiiLYY - 31 Июля, 2019 - 14:39:57 - перейти к сообщению
Может ли кто то помочь реализовать что то похожее со скрина. Чтобы по клику на кнопку выдавались фотки которые подходят под определенное условие фильтра

https://snag[dot]gy/U6hVaq[dot]jpg
2. LIME - 31 Июля, 2019 - 15:52:56 - перейти к сообщению
Тэгируй фотки и все
каждому фото присваивается набор тэгов
В бд выбираешь нужные
3. maxiiLYY - 31 Июля, 2019 - 16:24:17 - перейти к сообщению
Извините, не сочтите за грубость если спрошу, а можно какой никакой более подробный алгоритм, я такого не делал ещё ни разу .
4. LIME - 31 Июля, 2019 - 16:28:49 - перейти к сообщению
Какая грубость? Ты чего
Заводишь таблицу тэгов в бд
Тэг | фотка
Добавляя фотку вводишь все тэги для нее
И таким образом можно будет запросом к бд выбрать все фото с нужным тэгом
Бд умеешь надеюсь?
5. maxiiLYY - 31 Июля, 2019 - 17:06:18 - перейти к сообщению
Бд да, я понял, теперь пойду выясню как по щелчку на кнопку чтобы запрос к бд был
6. LIME - 31 Июля, 2019 - 17:12:30 - перейти к сообщению
по кнопке только http запрос может быть(если не придираться)
а вот по переданным параметрам на бэкенде можно уже к бд обратиться
7. maxiiLYY - 31 Июля, 2019 - 17:46:01 - перейти к сообщению
Marvel.com?tag=sim. Что типа такого. Значит по клику на кнопку должен быть свой get запрос на обработчик свой. То есть все кнопки в форму . Но как сделать чтобы по клику на кнопку свой нет запрос то? Эт дилемма
8. LIME - 31 Июля, 2019 - 17:53:32 - перейти к сообщению
Че? Говори по русскому
(Добавление)
onclick
9. maxiiLYY - 31 Июля, 2019 - 18:02:12 - перейти к сообщению
LIME пишет:
Че? Говори по русскому
(Добавление)
onclick


Автозамена чертова. Я говорю, как сделать чтобы по клику был GET запрос в базу.
10. LIME - 31 Июля, 2019 - 18:03:17 - перейти к сообщению
JavaScript
onclick
11. maxiiLYY - 31 Июля, 2019 - 18:03:22 - перейти к сообщению
LIME пишет:
Че? Говори по русскому
(Добавление)
onclick

И еще я ж так понимаю есть такая штука как Ajax. Чтобы без перезагрузки был поиск
12. LIME - 31 Июля, 2019 - 18:05:21 - перейти к сообщению
Да Ajax
На jQuery для начала проще делается
Придется покурить
13. maxiiLYY - 31 Июля, 2019 - 18:06:15 - перейти к сообщению
LIME пишет:
JavaScript
onclick

Та я понял что onclick. Просто в location.href подставляется URL website?tag_name=
Что то типа такого?
14. LIME - 31 Июля, 2019 - 18:06:20 - перейти к сообщению
Ну или напишет кто
(Добавление)
maxiiLYY пишет:
Что то типа такого?
лучше форму сабмитить
Без JavaScript никуда
15. miketomlin - 31 Июля, 2019 - 20:51:18 - перейти к сообщению
Небольшой набор обычно делается на одной странице чисто на JS:
http://workshop[dot]pageshop[dot]ru/gallery

Хотя БД, конечно, привлекается, чтобы совсем уж не хардкодить. По ссылке выше вот это используется:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. INSERT INTO `site_categories` (`id`, `name`, `desc`, `content`, `bits`, `module`) VALUES
  3. ('gallery', 'Gallery', 'Natus...', '{"1":["cars","Cars"],"2":["interior","Interior"],"3":["race","Race"],"4":["other","Other"]}', 112, 'include/list');
  4.  
  5. INSERT INTO `site_gallery` (`id`, `desc`, `category`) VALUES
  6. (1, 'Lorem ipsum dolor sit amet', 2),
  7. (2, 'Consectetur adipisicing elit', 4),
  8. (3, 'Repellat fugit tenetur', 1),
  9. (4, 'Asperiores quas voluptatem', 3),
  10. (5, 'Ex quos ab perspiciatis', 4),
  11. (6, 'Natus dolores ad et ipsam', 4),
  12. (7, 'Hic nisi. Animi placeat', 2),
  13. (8, 'Obcaecati quam exercitationem', 3),
  14. (9, 'quam exercitationem', 3);
  15.  


Если коллекция обширная, тогда уже можно и на сервере делить на отдельные страницы и т.п.
(Добавление)
P.S. JSON тут вместо таблицы категорий используется, чтобы не городить доп. таблиц в БД. Но, конечно, можно и отдельную таблицу использовать.

 

Powered by ExBB FM 1.0 RC1