是否可以将表单数据发布到 SELECT 查询中,以便查询可以根据输入的内容找到结果?
例如,我有三个字段:
营销协议编号:_ __ _ __
公司 ID:_ __ _ __ _ _
开始日期:_ __ _ __ _ _
假设我不知道营销协议编号是什么,我想通过公司 ID 而不是营销协议编号来查找。或者,如果我只是想查找在特定日期(或日期范围)开始的促销活动,我只需输入开始日期而不在其他两个日期中输入任何内容。
目前我的查询是这样的:
$query = sprintf("SELECT * FROM Items, Promotions, Vendor_Prices, Vendors, Sales_Accounts
WHERE Items.itemid = Promotions.itemid AND
Vendors.vendorid = Promotions.vendorid AND
Vendor_Prices.vendorid = Vendors.vendorid AND
Vendor_Prices.itemid = Items.itemid AND
promoid = '$man'");
其中 $man 是营销协议编号的发布信息。抱歉,如果这有点令人困惑,我可以在必要时澄清一下。
编辑:
我想通了。我只是将 WHERE 字段中的查询更改为具有 OR 和 LIKE 而不仅仅是“=”。
promoid LIKE '$man' OR Vendors.vendorid LIKE '$cid' OR startdate = '$pstart'