У меня есть форма поиска, которая ищет информацию в базе данных SQL, данные имеют столбец аббревиатур для типа продукта. Я хочу загрузить данные с сокращениями и использовать PHP для расширения текста в результатах поиска.
Например, PF = Предварительно подготовленный
Можно ли это сделать или это замедлит поиск экспоненциально?
if ($producttype == "PF") {
$producttype == "Prefinished"
}
else{
// Else
}
Первый шаг - перевести эти преобразования в таблицу, в которой вы можете сопоставить код и имя и, возможно, наоборот, если необходимо.
Затем вы можете JOIN
к этой таблице, чтобы получить расширения. Для небольших столов эта стоимость является номинальной, вы действительно не почувствуете ее в тестах.
CREATE TABLE product_types (
id INT PRIMARY KEY AUTO_INCREMENT NOT NULL,
code VARCHAR(255) NOT NULL,
label VARCHAR(255) NOT NULL,
UNIQUE KEY 'index_product_types_on_code' ('code')
);
Затем заполните это так, чтобы вы могли:
SELECT * FROM products
LEFT JOIN product_types ON product_types.code=products.producttype
Если эта проблема и, тем не менее, эти данные изменяются нечасто, вы можете загрузить ее на свой прикладной уровень в качестве ассоциативного массива и отобразить их на PHP.