دوست عزیز نباید هم چیزی نشون داده بشه چون LIKE %...% رکوردهایی رو بر میگردونه که عبارت ذکر شده، دقیقاً به همون شکل توش اومده باشه و قبل یا بعدش هر چیزی میتونه باشه اما این کاری که شما میخواین، عکس اینه یعنی اینکه ممکنه یک کلمه بین اون چیزی که شما وارد کردین اومده باشه. میتونید از این حالت استفاده کنید:
$words = explode(' ', $_POST['words']);
$sql = 'SELECT * FROM `table` WHERE (`name` LIKE \'%';
foreach($words as $word) {
$sql .= $word.'%';
}
$sql .= '\')');
خروجی کد فوق، اگه در کادر متن فرضاً «دکتر فخار» نوشته بشه، این Query خواهد بود:
SELECT * FROM `table` WHERE (`name` LIKE '%فخار%دکتر%')
که میشه همون چیزی که شما میخواین یعنی رکوردهایی که توی نام اونها اول کلمه دکتر، بینشون هر عبارت دلخواه و بعد، کلمه فخار اومده باشه و قبل از کلمه دکتر و بعد از کلمه فخار هم مهم نیست چی باشه.
موفق باشید.