Php 如何修复此过滤器功能,直到其正常工作?
苏。。我想在我的网站上做一个过滤功能,他使用3个表tb_data、tb_peserta和paket在yhis页面上打印出表组件Php 如何修复此过滤器功能,直到其正常工作?,php,if-statement,search,logic,conditional-statements,Php,If Statement,Search,Logic,Conditional Statements,苏。。我想在我的网站上做一个过滤功能,他使用3个表tb_data、tb_peserta和paket在yhis页面上打印出表组件 $keyword = $_POST['keyword']; $query = " SELECT tb_peserta.id_peserta, tb_data.nama, tb_paket.nama_paket, ket, waktu_awal, waktu_akhi
$keyword = $_POST['keyword'];
$query = "
SELECT
tb_peserta.id_peserta,
tb_data.nama,
tb_paket.nama_paket,
ket,
waktu_awal,
waktu_akhir
FROM
tb_peserta,tb_data,tb_paket
WHERE
tb_peserta.id_number=tb_data.id_number
AND tb_peserta.id_paket=tb_paket.id_paket
AND status_data_peserta='aktif'
AND nama LIKE '%$keyword%'
OR nama_paket LIKE '%$keyword%'
OR ket LIKE '%$keyword'
";
这就是我所做的筛选查询。。这不是显示一个数据,而是显示所有数据,它不起作用。。因此,我需要您的帮助很可能您在此处创建了笛卡尔连接。我建议使用ansi风格的sql,因为它更清晰,不易受到意外连接结果的影响:
SELECT
tb_peserta.id_peserta,tb_data.nama,tb_paket.nama_paket,ket,waktu_awal,waktu_akhir
FROM
tb_peserta
INNER JOIN tb_data on tb_peserta.id_number=tb_data.id_number
INNER JOIN tb_paket on tb_peserta.id_paket = tb_paket.id_paket
WHERE
status_data_peserta='aktif'
— note parentheses and placeholders!
AND (
nama LIKE ?
OR
nama_paket LIKE ?
OR
ket LIKE ?
)
需要注意的两件重要事情:
和
以及或
时,如果不使用括号澄清操作顺序,可能会得到意外的结果?
)。有关如何使用,请参阅本网站以供参考你能展示一些表格的样本数据吗?