2016-04-12 15 views
-1

Arama anahtarının 'goodmorning' ('günaydın' yerine) 'ise tüm satırların' iyi 'olması gereken bir arama uygulamak istiyorum açıklama sütununda herhangi bir yerde sabah 'veya' goodmorning '.php mysql arama anahtarı iki veya daha fazla kelime boşluk olmadan kombine edildiğinde arama

+2

Good Luck! Bu soruyu sizin için hiç kimse buraya inşa etmeyecek. En azından bir şey denedin mi? –

+0

Burada çalıştığınız şeyin daha fazla örneğine ihtiyacınız var. Örneğin, aramanız "goo dmorning" ile bir satır döndürür mü? – DaveyDaveDave

+0

evet Davey, söylediğin gibi "goo dmorning" gibi bir satır varsa geri dönmelidir. Mümkünse, yanlış yazılmış bir arama anahtarı da varsa. – sans

cevap

1

Bu replace() ve like ile yapmak oldukça kolaydır:

select t.* 
from t 
where replace(description, ' ', '') like '%goodmorning%'; 
0

Sen bulursa kelimelerin bir dizi eklenecek ekleyebilir. Böyle bir şey.

$words = array(
    'goodmorning' => 'good morning' 
    // Paste all the words you need 
); 

O zaman orada kontrol etmek için arama dizesini almak ve bulursa 2 arama params geçerken. Böyle bir şey.

$search = $_GET['keyword']; 

$searchParams = array(); 
$searchParams[] = 'description LIKE "%' . mysqli_real_escape_string($connection, $search) . '"'; 

if(isset($words[$search])) { 
    $searchParams[] = 'description LIKE "%' . mysqli_real_escape_string($connection, $words[$search]) . '"'; 
} 

$query = mysqli_query($connection, 'SELECT * FROM table WHERE' . implode(' OR '$searchParams)); 
İlgili konular