[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как сделать поиск товаров по полю kod и optkod
Страницы: 1, 2, 3, 4, 5, 6, 7
RussianDesigner
Цитата (Kusss @ 19.08.2014 - 02:19)
И ещё бы вынести отдельно Категории. к которой привязать префикс кода.
id | tovar_name | prefix
1 | Картошка | k
2 | Огурец | o
3 | Помидор | p

И в таблице товаров nametovar - записывать id .
Это упростит добавление нового товара, Будет требовать меньше ресурсов при выводе каталога, ссылки проще сделать, выборка и т.п.

Пока дабы не усложнять
обойдемся без этого



product_id к таблице добавил
теперь структура двух таблиц выглядит так:
user posted image
таблица1

user posted image
таблица2


Цитата
И ещё по моему kod нужно вернуть в первую таблицу.

Вы имеете ввиду его надо вернуть или продублировать
(т.е. kod должен быть и в одной и в другой таблице? или только в первой?)
RussianDesigner
напомню цель данной темы

нужно чтобы осуществлялся поиск как по коду товаров в магазине, так и по коду товара на складе.

т.е. чтобы в зависимости от того, что знает человек, либо kod либо optkod, выдавался результат

в результате должны быть данные по запрашиваемому товару и по его аналогам, если такие присутствуют (аналог это товар у которых совпадают optkodы)
RussianDesigner
вот нашел пример поиска

его надо будет чуть подправить,
но по идее поиск будет осуществляться так как в примере
http://code-live.ru/post/custom-search-for...-php-and-mysql/

только непонятно если таблиц будет несколько, то и поиск нужно делать по нескольким уже нормализованным таблицам

RussianDesigner
так какие поля метить как Индекс?
Kusss
Цитата
Цитата
И ещё по моему kod нужно вернуть в первую таблицу.


Вы имеете ввиду его надо вернуть или продублировать
(т.е. kod должен быть и в одной и в другой таблице? или только в первой?)

Если он такой же уникальный как id, то лучше отправить его в таблицу с товаром.
RussianDesigner
Сделал всё как вы и сказали
отправил kod в первую таблицу

Теперь надо бы связать таблицы?
Какие поля лучше метить как индекс?
Kusss
id в первой таблице
product_id во второй

лично я до этого не связывал таблицы в Mysql. Делал это в запросе.
RussianDesigner
Цитата
Делал это в запросе.

Это что-то новенькое. smile.gif
Зачем тогда было меня надоумливать на нормализацию, если всё можно было сделать без лишних телодвижений.
Я с самого начала был за простоту.
Ну даладно.

Будем пытаться связать таблицы
RussianDesigner
id у меня и так первичный ключ, поэтому
добавляю только ключ для product_id во второй

для product_id надо пометить как Уникальный или как Индекс ?

т.е.
user posted image
RussianDesigner
В чём разница между Уникальный и Индекс?
Какой использовать из них мне?

вот в этой статье на картинке обведен кружочком не Индекс, а Уникальный
user posted image
картинка из статьи


четко что из двух выбирать не сказано
поэтому и спрашиваю

хотя щас попробую
перечитал ещё раз статью
RussianDesigner
в статье http://folkprog.net/sozdanie-svyazey-phpmyadmin/
индексом является part_id
я так понимаю, у меня по его подобию выступает product_id

но product_id у меня, в отличие от ихнего part_id, во второй а не в первой таблицек как у них
Вот в чем путаница
RussianDesigner
т.е. они в примере сначала метят первую таблицу через индекс
а потом вторую через кнопку Первичный(Уникальный)

но вся штука в том, что то что они метят в первой таблице, у меня во второй
как быть?
RussianDesigner
Цитата (Kusss @ 20.08.2014 - 15:34)
id в первой таблице
product_id во второй

ага вот так точно
сейчас попробую
RussianDesigner
id в первой таблице пометил как Индекс

user posted image


product_id во второй пытался пометить как Уникальный
не дает
user posted image


т.к. у меня при создании поля product_id каждая его ячейка заполнилась нулями
и теперь не дает сделать уникальным
вот так дилема


скриншот второй таблицы в режиае обзор
user posted image


Кто-нибудь подскажет как скопировать номера id в product_id
(чтобы каждая ячейка стала уникальной и можно было её пометить как Уникальная )
Какой коммандой для этого поднапрячь мускул(mysql)? smile.gif
RussianDesigner
команда
 /*Это наша новая таблица, сюда будут занесены данные*/ 
INSERT INTO kodsfrom_tovaruallnorm (product_id)
/*Это таблица из которой нужно перенести данные*/
SELECT id FROM kodsfrom_tovaruallnorm /*Тут можно добавлять признаки WHERE */;

добавляет данные новыми строками ниже
а надо чтобы просто скопировать в соседнюю ячейку
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.