PHP와 SQL을 사용하여 데이터베이스에서 텍스트를 표시하는 데 문제가 있습니다. 다음은 내가 가지고있는 것과 유사한 스크립트입니다.MySQL에서 중복 검색 결과를 제거하는 방법은 무엇입니까?
$search_split = explode(" ", $search); //$search is what user entered
foreach ($search_split as $searcharray) {
$searched = mysqli_query($connect, "SELECT * FROM people WHERE `description` LIKE '%$searcharray%'");
while($info = mysqli_fetch_array($searched)) {
echo $info['description'];
}
}
그래서 예를 들어 사용자는 'He is male'이라고 입력합니다. 나는 낱말을 '폭발'기능을 사용하여 'He', 'is'와 'male'의 세 부분으로 나눴다. 그 후, 나는 그 세 단어와 비슷한 단어들을 데이터베이스에서 찾는다. 그러나 한 행에 세 단어가 모두 있으면 행이 세 번 표시됩니다. 한 번만 표시되도록하려면 어떻게해야합니까?
아를 포함 , 당신은 commenter bel처럼 하나의 질의 만 실행하면됩니다. 아우. 'WHERE x LIKE'% word1 % OR WHERE x LIKE '% word2 %'... '와 같은 형식으로 쿼리를 작성해보십시오. – halfer
문제는 SQL 문이 아닌 코드에 있습니다. 개개의 결과를'description '을 사용하여 사전에 입력하십시오. 중복 된 결과 행은 이전 항목을 덮어 씁니다. 결국에는 사전에는 고유 항목 만 포함됩니다 –