Поиск похожих картинок(новостей) в БД MySQL по ключевым словам.

WMix

герр M:)ller
Партнер клуба
я и говорю что у тебя в отдельной, твой вариант мне нравиться.
но огромного смысла в данный момент в табличке где только id и слово не наблюдаю. слово ничем не хуже числового индекса.
если же поглядеть шире этой задачи и вспомнить о переводах, о статистике работников которые описывают картинки и тд, то вероятнее всего выделить слова в отдельную табличку как ты предлагаешь будет правильней.

но емуб простое переварить, погляди как его нахлабучило от 3х до 12 записей на запись.
 

Macintosh

Новичок
Мдя уж, нужно подтянуть мне MySQL )) Просто для меня все это в новинку, я обычно пользовался простыми запросами, а вот это все для меня вообще новое, поэтому мне и понять сложно:

PHP:
UNIQUE KEY `name` (`name`)
PHP:
KEY `title` (`title`(255))
PHP:
KEY `source` (`source`),
KEY `tag` (`tag`)
PHP:
JOIN source_to_tag AS stt ON stt.source = sources.id
JOIN tags ON stt.tag = tags.id
Всем этим я ни разу не пользовался, объединение таблиц, запрос в запросе, я так понимаю, это те самые индексы? Читал об этом но мельком, все планировал разобраться но руки не доходили )) Хорошо, спасибо ребята, я почитаю обо всем этом, и попробую врубиться как это все работает. Благо движок я реализовал, по принципу MVC, правда немного по своему, так что модели можно будет просто переделать, не трогая остального кода )
 

WMix

герр M:)ller
Партнер клуба
оо это хорошо что обратил внимание, и появился интерес... учи это на самом деле первый курс.
 

Macintosh

Новичок
Я просто самоучка, у меня даже не одного знакомого нет, кто разбирался бы в компьютерах, не говоря уже о программировании ))) Поэтому сложно, все знания это книги и интернет )) Не с кем обсудить, не у кого взять совет и т.д. Поэтому еще есть чему учиться ) Хотя в нашем деле учится можно всю жизнь )) Сейчас достану свою книженцию MySQL 5 в подлиннике )))), и почитаю об этих вещах, я как бы понимал, что модели не идеальны и придется их усовершенствовать, просто моя цель написать самому полноценный движок, не используя чужого когда, все придумать самому, из чужого кода у меня только jquery, и я не пользуюсь не какими мудреными программами, которые облегчают жизнь, все делается в редакторе CodeLobster ))) Еще раз спасибо за помощь, буду разбираться )
 

hell0w0rd

Продвинутый новичок
WMix
Ничего подобного, на первом курсе у нас даже классы в плюсах не рассмотрели, какой там sql?))
Macintosh
Советую таки поглядывать в чужой код) Сейчас море кода под MIT лицензией, смотришь и делаешь лучше:)
 

Macintosh

Новичок
Советую таки поглядывать в чужой код) Сейчас море кода под MIT лицензией, смотришь и делаешь лучше:)
Нет ну я конечно поглядываю в примеры которые нахожу в интернете, но смотрю только сам принцип действия, а без этого не как, ведь нужно делать круто, а для этого нужно использовать современные технологии и методы работы с этими технологиями. А так вся жизнь уйдет если все придумывать с нуля. Так я книжечку открыл, с чего мне начать, это у нас что, Многотабличные запросы?
 

WMix

герр M:)ller
Партнер клуба
hell0w0rd
мы на первом проходили математику, устройство компьютера,си, базу, социальные и юридические аспекты если не путаю, а алгоритмы и структуры данных еще
 

Вурдалак

Продвинутый новичок
ля этого нужно использовать современные технологии и методы работы с этими технологиями. А так вся жизнь уйдет если все придумывать с нуля
Не знаю о каких технологиях речь, но использовать современные супер-абстрактные либы я бы новичкам не рекомендовал. Если им неясно что там под капотом, то ничего хорошего не выйдет. Нужно самому прийти к этому — понять, почему какие-то готовые решения чем-то лучше.
 
  • Like
Реакции: WMix

Macintosh

Новичок
мы на первом проходили математику, устройство компьютера,си, базу, социальные и юридические аспекты если не путаю
Я уже 14 лет занимаюсь компьютерами, начинал еще в конце 90 годов, сначала начинал учить устройство ПК, еще до того как у меня появился первый компьютер, где-то год, я учил все по книгам, тогда ясное дело не было интернета, компа то не было ))) В итоге первый свой комп, я собрал сам, при этом, до этого видя компьютеры только в интернет клубах )) Поехал купил все необходимые комплектующие и собрал, были сложности еще помню, тогда только появились HDD с интерфейсом SATA, а их еще толком не где не было, и у меня не было разъема для питания, точнее переходника, так вот пришлось весь город искалисить, что бы найти переходник, помню как первый раз делал установку OS, было немного страшно, комп тогда собрал крутой, по тем деньгам он стоил 2000$, короче мечта, и боялся напартачить )) Но в итоге все собрал без проблем настроил, короче разбирался и изучал все это дело еще несколько лет, после чего долгое время и по сей день занимался ремонтом компов )) Там же в процессе учил С++, Ассемблер, архитектуру процессоров ну и т.д, короче погряз по уши ))) Потом С++, Ассемблер, забросил, сейчас уже почти не помню их вообще, много лет прошло, увлекся Web, и уже вот года 4 изучаю веб технологии, HTML, CSS, JS, Рег. выражения, PHP, MySQL, и многое другое, полностью разобрался в разворачивании домашнего сервера, его настройке конфигурации и т.д. Так что путь я тоже прошел не маленький, и знаний много, просто нужно еще многое подтянуть )))) Извиняюсь, что-то нахлынуло, ностальгия, решил поделиться своей историей в мире IT )))
 
  • Like
Реакции: WMix

hell0w0rd

Продвинутый новичок
WMix
ну математика ясно) А вот остальное - я видимо не туда куда надо попал) Алгоритмы и структуры - 3 семестр, типо в процедурном стиле алгоритмы не модно писать, а классы на 1 курсе жестоко давать
Вурдалак
Если совсем самому все делать, можно как один из оффтопика запросы в smarty писать, и говорить что это "mvc так как я вижу"
 

Macintosh

Новичок
Не знаю о каких технологиях речь, но использовать современные супер-абстрактные либы я бы новичкам не рекомендовал. Если им неясно что там под капотом, то ничего хорошего не выйдет. Нужно самому прийти к этому — понять, почему какие-то готовые решения чем-то лучше.
Я же не просто их использую, я их сначала понимаю, а потом использую ) Вот даже тут, я же не сказал, ребята дайте мне готовое решение! Вы дали мне пищу для размышления, и показали где копать, вот я и буду сейчас копать ))) И когда уже пойму для чего это и как, только тогда буду применять )
 

Вурдалак

Продвинутый новичок
Если совсем самому все делать, можно как один из оффтопика запросы в smarty писать, и говорить что это "mvc так как я вижу"
Ну это ж от человека уже зависит, если он дурак, то ничего не поможет. Я тоже когда-то с велосипедов начинал, Smarty, кстати, пользовался. В итоге пришёл к своего рода MVC-фреймворку, и тут понял, что ничего нового не открыл, а есть куча вкусных существующих решений.

Я просто не верю, что есть люди, которые быстро переварят всю эту абстрактную кашу. Человеку свойственно обратное: делая конкретную вещь, выделять что-то абстрактное.
 
Последнее редактирование:

WMix

герр M:)ller
Партнер клуба
hell0w0rd
незнаю незнаю, сруктуры это бинарные деревья, стеки, квиксорт наконец, все это рисовали на бумажке, без этого вообще не понятно как это работает, 3й курс это уже явы компонентно базированные системы, и кто хотел мобилу кто хотел картинки, еще всякая хрень была у меня уже каша давно что за чем было. помню 2й это инкремент си также GL был и я свой лабиринт писал подпитаный вдохновлением БК
 
Последнее редактирование:

Macintosh

Новичок
Подскажите пожалуйста, сейчас начал разбираться в этом вопросе, и наткнулся на такую проблемку. Составил такой вот запрос:

PHP:
$query = "SELECT `images.*`, `categories.name` FROM `images`, `categories` WHERE `images.category_id` = `categories.id` AND `images.id` = '$id'";
Так он не работает, а вот так работает:

PHP:
$query = "SELECT images.*, categories.name FROM images, categories WHERE images.category_id = categories.id AND images.id = '$id'";
Тоесть, если названия полей, которые обеденные с названиями таблиц, заключить в косые кавычки, то не работает. А я привык всегда их заключать в косые кавычки, как бы учился делать правильно, а теперь получается, что этого делать нельзя. Как все таки правильно составлять такие запросы?
 

Macintosh

Новичок
Понял, большое спасибо, а со звездочкой как быть?

Если делаю так:

`images`.`*` - ошибка

Если так:

`images`.* - все хорошо, просто звездочку так и оставлять?

И еще вопросик )

Попытался сделать тройной запрос ))) Двойной научился, а у меня тут есть ситуация где нужно к трем таблицам обращаться, хотелось бы сразу вместо 3 запросов сделать один.

Делаю так:
PHP:
$query = "SELECT images.*, categories.name, users.login FROM images, categories, users WHERE images.id = '$id' AND images.category_id = categories.id AND images.user_id = users.login";
MySQL отвечает:

Empty set, 2 warnings (0.00 sec)

Мол пусто, и 2 предупреждения

Что не так делаю?
 

Macintosh

Новичок
Ой уже сам нашел свою ошибку )))) Извиняюсь )

Нужно было вот так ))

PHP:
$query = "SELECT images.*, categories.name, users.login FROM images, categories, users WHERE images.id = '$id' AND images.category_id = categories.id AND images.user_id = users.id";
Тогда все отлично работает. )) Супер, я просто в шоке, на сколько я тут все уже упростил. ))
 

Macintosh

Новичок
3 метода, из моделей уже выкинул )) И сократил на 5 запросов, да еще и логика в контролерах упрощается )
 

WMix

герр M:)ller
Партнер клуба
PHP:
SELECT images.*, categories.name, users.login 
FROM images, categories, users 
WHERE images.id = '$id' AND images.category_id = categories.id AND images.user_id = users.id
яб написал так, но сразу скажу что возвращает несколько иной результат.
PHP:
SELECT i.*, c.name, u.login 
FROM images i
LEFT JOIN categories c ON i.category_id = c.id
LEFT JOIN users u ON i.user_id = u.id
WHERE i.id = $id
 
Сверху