2017-12-11 1 views
0

SQL DB에서 정보를 조회하는 검색 양식이 있습니다.이 데이터에는 제품 유형에 대한 약어 열이 있습니다. 약자로 데이터를 업로드하고 PHP를 사용하여 검색 결과의 텍스트를 확장하려고합니다.검색 결과 약어를 텍스트로 바꿉니다.

예를 를 들어 PF = Prefinished는

이는 수행 또는 수

것이다 기하 급수적으로 검색 다운이 느린?

if ($producttype == "PF") { 
    $producttype == "Prefinished" 
    } 
else{ 
    // Else 
    } 
+0

약자에 따라 예기치 않은 결과를 쉽게 반환 할 수 있습니다. 예를 들어'upfront' 검색은'uprefinishedront'를 반환합니다. – GrumpyCrouton

+1

아마도 확장 된 값을 제공하는 링크 된 테이블이 있으므로 데이터베이스에서 필요한 값을 추출하는 것이 더 효율적일 것입니다. –

+0

배열을 사용하여 데이터를 가져 오는 중 하나의 변수에 변경 사항을 적용 할 수 있는지 확실하지 않았습니다. – MPMullally

답변

1

첫 번째 단계는 필요한 경우 코드와 이름, 그리고 아마도 그 반대의 사이에 매핑 할 수 있습니다 테이블에 이러한 변환을 넣어하는 것입니다.

그러면 확장을 위해 JOIN이 테이블을 상대로 할 수 있습니다. 작은 테이블의 경우이 비용은 명목상으로, 벤치 마크에서는 느낄 수 없습니다. 즉하지만, 문제, 그리고이 데이터가 자주 변경되지 않는 경우 연관 배열로 응용 프로그램 계층에로드 할 수 있습니다,

SELECT * FROM products 
    LEFT JOIN product_types ON product_types.code=products.producttype 

과 :

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`) 
); 

그럼 당신이 할 수 있도록 이에 따라이를 채울 PHP로 매핑하십시오.

관련 문제