Kueri sql Anda perlu mengelompokkan kondisi Anda dengan benar
$query=mysql_query("select * from persons where status like 'found' and (firstname like '%$searchtext%' or lastname like '%$searchtext%') order by date desc LIMIT $start,$per_page ");
Apa yang Anda lakukan setara dengan sesuatu seperti ini dalam kode:
if (status == 'found' && firstname like 'a')
{
return row;
}
else if (lastname like 'a')
{
return row;
}
Jika Anda melihat ini mungkin sedikit lebih jelas, jika kondisi pertama gagal (satu-satunya yang memeriksa apakah status == 'found'
kemudian akan melompat ke kondisi berikutnya (setelah pernyataan OR) dan hanya memeriksa apakah lastname
pertandingan.
Anda perlu mengelompokkan kondisi pernyataan pilihan Anda sehingga memeriksanya dengan benar:
...where status like 'found' and (firstname like '%$searchtext%' or lastname like '%$searchtext%') order by...
Dalam hal ini, kami mengelompokkan keduanya firstname
dan lastname
kondisi bersama-sama (dalam tanda kurung) sehingga seluruh kondisi ATAU menghasilkan satu jawaban benar/salah, jawaban itu kemudian diterapkan ke status
periksa setelahnya.