У меня около 15 таблиц, каждая таблица содержит около 10 000 строк и около 30 столбцов. Я хочу, чтобы пользователи моего сайта могли искать номер детали или продукт / описание и отображать результаты. Независимо от того, в какой таблице он находится.
Каждая страница продукта совпадает с именем каждой соответствующей таблицы. Поэтому, если продукт найден, он просто отобразит ссылку на правильную страницу (имя файла – это имя таблицы).
Разве мы не можем сделать что-то вроде:
query = "find $ q in dbase.tables"; ?
И если $ q существует в таблице, верните имя таблицы, в которой она была найдена?
Любая помощь приветствуется!
спасибо
Если все таблицы имеют одинаковую структуру, вы можете это сделать. (Это похоже на упрощенную схему ручного разделения.)
Вперед, чтобы присоединиться к нескольким таблицам, которые вы можете использовать
SELECT * FROM tbl1 UNION ALL SELECT * FROM tbl2 ...
И чтобы получить простой метод доступа, вы можете создать представление об этой конкатенации:
CREATE VIEW alltables AS SELECT * ... UNION ...
Никогда не проверял это. Но это представление затем облегчит SELECT * FROM alltables WHERE find($q)...
– вам все равно нужен правильный запрос для столбцов.
почему у вас так много таблиц? почему бы не иметь только одну таблицу с номером №, чем другую таблицу описаний и присоединиться к номеру детали?