웹샵 제품을 검색 할 수있는 검색 양식이 있습니다.
하나의 제품이 하나가 아닌 여러 범주에 속할 수 있습니다. 나는 이것을 termek_katgoria_kapcsolo 테이블 에 저장 합니다. 삽입시 제품이 많은 카테고리에 속하는만큼 많은 라인을 생성합니다.
예 : ID 12 제품은 ID 1, ID 2, ID 3 카테고리에 속합니다.
검색 SQL은 하나의 범주가 선택된 경우에만 범주를 확인합니다. 대부분의 경우 제품 이름 만 검색하고 카테고리별로 정렬하지 않습니다.
카테고리를 선택하면 SQL을 어떻게 작성할 수 있습니까? 나는 당신에게 사진에 테이블을 보여줍니다.
if($termek_kategoria == 0 ) // Sort to categoria or not only search for product name, id...
{
$sql = "
SELECT termek_id, termek_nev, termek_cikkszam, termek_status FROM termek
WHERE $kereses_helye LIKE '%$kw%' ORDER BY $kereses_rendezes $kereses_sorrend
";
}
else
{
// Sorting for categoria also
$sql = "
SELECT termek_id, termek_nev, termek_cikkszam, termek_status FROM termek
WHERE $kereses_helye LIKE '%$kw%' AND termek_kategoria =
'$termek_kategoria' ORDER BY $kereses_rendezes $kereses_sorrend
";
}
최신 정보:
$sql = "
SELECT termek.termek_id, termek.termek_nev, termek.termek_cikkszam, termek.termek_status
termek_kategoria_kapcsolo.*, termek_kategoria.kat_id
FROM termek
LEFT JOIN termek_katgoria_kapcsolo ON termek_kategoria
WHERE termek_kategoria_kapcsolo.kat_kapcs_kategoria_id = termek_kategoria.kat_id
AND termek.termek_id IN (SELECT kat_kapcs_termek_id FROM
termek_kategoria_kapcsolo WHERE kat_kapcs_kategoria_id = '$termek_kategoria')
";
여기서 뭐가 잘못 됐나요?
내가 원하는 것은 카테고리를 선택할 때 프로그램이 선택한 카테고리에있는 제품을 제공하는 것입니다.
문제를 해결했습니다.
$sql =
"
SELECT
t.termek_id,
t.termek_nev,
t.termek_cikkszam,
t.termek_status,
kapcs.kat_kapcs_kategoria_id,
kapcs.kat_kapcs_termek_id
FROM termek t
LEFT JOIN termek_katgoria_kapcsolo kapcs ON kapcs.kat_kapcs_kategoria_id = '$termek_kategoria'
WHERE t.termek_id = kapcs.kat_kapcs_termek_id AND t.$kereses_helye LIKE '%$kw%' ORDER BY t.$kereses_rendezes $kereses_sorrend
";
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다