Uchkuma Всё супер, но вот LIKE в мускуле очень затратная конструкция...
Поэтоиу и думая создать связующую таблицу, а не поле, которое потом експлодить (,+пробел)
И спрашиваю Вас, не как реализовать, а как сделать наименее ресурсоёмко...
скажем, как сделано в вконтакте (там конечно не тэги а мапа стоит на изображениях), но суть ведь одна. Вряд ли они к каждой фотке, просмотренной, цепляют несколько десятков линков на LIKE запросы)
2-дная сестра моей девушки (через 5 минут уже жена), обратилась ко мне с просьбой по предмету web-технологии (трабл с защитой курсача) в инновационном чём-то там.
Какоя чёрт её дернул на технический факультет, тем более на компьютерный, если она не знает что такое install.exe и если авторан в сд-роме отключен, не в состоянии сама установить что-либо. Но речь не о ней.. Москва.... Связи.... Куда-нибудь тупую пристроют учиться, и уже хорошо.
Курсач раздовался всем индивидуально, её достался: ТЗ: создать новостной сайт с возможностью добавления новостей на-лету.
На сколько я знаю, это нехрена не курсач, а проектая работа, но спорить с преподом мне на... не нужно, а с ней тем более... Просто попросили помочь, а отказаться нельзя.
Написал я ей за 1 день на игнитере (framework который), блог, точнее не сам написал, а дал ей видеоурок прям сайта, и сказал напиши, заодно может что поймёшь.
Естественно, богом забытый университет (а в москве все ПТУ уже универы), и старый препод, который в жизне прочитал одну книгу по пхп, и то не осилил, захотели весь код на бумаге (A4 size=14 font="Times New Roman").
И пришла моя, после моей проверки, и сдала преподу бумаги.
Зачёт не сдала, препод сказал, что делала не она сама!!!!
Сам учился (не на техе), но знаю, что есть преподы задроты, но то, что он сказал!!!!
(Всё со слов этой сестры, может всё и не так было)
Сначала задал вопрос (как диалог):
- Почему так мало кода?
- Я при разработке использовала CodeIgniter.
- Я же ясно на семенаре сказал, что курсвую надо писать Только на ПХП.
- А здесь только ПХП и ХТМЛ.
- Но ты же не сама писала, Верно?
- (баба-дура) Да, мне помогали, но я всё понимаю, что написала.
- Передай тому, кто за тебя это писал, что это не ПХП, а какая-то ересь. И Вы пробывали этот код запускать?
- Да, всё работает. Для этого надо поднять (ГОРЖУСЬ, НАУЧИЛ ПУСТОГОЛОВУЮ ЭТОМУ СЛОВУ =) web-сервер, например, с апаче и php, скачать из интернета последнюю версию библиотеки CI, распаковать и запустить мой скрипт.
- Но твой "Code... как его там.... это же не пхп", а задача была использовать связку 2-ух языков программирования: html+php.
Короче даольше, не столь интересная перепалка между студентом, который нехрена не знает, и преподом, который максимум изучил html, как он был в начале 90-х.
Вот такое у нас образование... А OVER 9000 говорят, что оно самое лучшее в мире...
УЖЕ НЕТ!
Этот холивар (а почему бы и нет) написал, потомучто НАБОЛЕЛО!!!!!!
Мой вариант структуры таблицы БД:
1) table - gal
id
name
... (createtime, onoff, author, etc...)
2) table - gal_pics
id
gal_id
name
path (тут ВОПРОС: лучше сделать три поля с ссылками на тумбнейл, большой, оригинальный размеры фото, или же достаточно сделать путь к папке, а там 3 папки: orig, thumb, full?? по ид создавать паку не хочеться, хотя??? почему бы и нет???)
size, h_size, v_size, type (свойства изображения. ВОПРОС: лучше при загрузки добавлять свойства, или на лету брать инфу из файла-изображения?)
tag (сдесь вообще не знаю как лучше? писать через разделитель (запятая+пробел или как-то иначе?)
.... (updatetime, author, onoff, etc....)
Соответственно 2 вопроса по структкре и вопрос по тэгам:
Как тэги записывать ЛУЧШЕ в БД и потом работать с ними???
2) g_pic:
id
g_nid (на таблицу g_name)
name
alt
...
3) g_pic_taging
id
g_pid (на таблицу g_pic)
g_tag
4) g_tag
id
tag
==========
т.е.: 1) создаётся галерея (g_name),
генерируется случайная папка (path).
2) Заполяются ей (галереи UP) картинки (g_pic),
приписываются к каждой тэги из готовых (g_tag) или из новых (+g_tag)
3) ....
ВОПРОС: Всё равно криво будет с добавлением тэгов! это отдельная таблица, регулярой я выну тэги из инпут-пост-формы, по одному занесу в таблицу g_tag, в таблицу (g_pic_taging) пропишу id'шники, но если вдруг, что ручками править, это будет не айс.
Как же галереи делаются?
Ну, я пока не могу себя назвать опытном ПХПшеиком. =)
Но попробую.
Проект и скрипт - разные вещи! (совсем разные).
Но в любом случае...
Начинается с подбора и изучения ПО которое будет использоваться в том или ином проекте (написать скрипт - тоже маленький проект =))
Это проходит каждый программист:
1) Удобное для себя ПО для разработки.
Здесь всё зависти от личных потребностей и потребностей проекта, и это - 50 на 50.
Я использую: WAMP как сервер, PHPed как блакнот для написания кода, phpmyadmin (встроен в WAMP) и Navicat For MySQL для работы с БД, opera, ie7, ie8, firefox 2,3, chrome и safari последнии для тестинга вёрстки. (Из перечисленого, Всё ИМХО, 0% рекламы!!!) Иногда немного адоб фотожоп. Мне этого набора хватает. Но опять же, всё зависит от потребностей... Например, мне весь дизайн шлют в удобном для меня, окончательной верстке дизигне. (Фронтенде). Мне только подставляй элементы массивов вынутые из БД, и оптимизирую ядро ЦМС!
2) Понять что надо делать.
Это ВАЖНЕЙШИЙ пункт!
Написать то или иное - дело малого времени,
а вот потом прикручивать, модернизировать, обновлять и пр., зачастую занимает 90% времени всей разработки. ВСЕГДА точно представляйте себе задачи проекта, и сэкономишь своё время (очень много времени).
3) Коменты.
Не игнорируйте коментарии. Коментите всё, что можете. Если инициализируете новую (функцию, переменную, константу) ВСЁ ПОДЧЕРКНУТЬ!
4) ...
5) PROFIT!!!
====================
0)
jumperweb пишет:
услышать ответы у опытных программистов
Они меня поправят
-1) НИКОГДА!!!!! Не делай:
а) велосипед, быстрее найти в гугл, чем написать своё (за редким исключением), зная, что где-то это уже есть.
Если уж пишешь своё, то гугл ответит на 99% твоих вопросов, ЗДЕСЬ - 1%, но полезной инфы 100%!
б) всегда цени и слушай людей, которые тебе что-либо советуют, даже авторов учебника(ов) по пхп, плохого не будет, будет только лучше!
можно вывести всё, как писал Worm в массивы пхп и обработать пхп массивы скриптом, а можно конечно и скл обработать.
Готовые решения? хм. врядли найдёте ибо очень специфические действия надо производить и для каждого они свои (это не модуль голосования для сайта =)). Проще такой обработчик самому написать, чем переделывать готовые решения под себя, если, конечно, найдете такие.