Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择查询的多个HTML字段_Php_Html_Mysql_Sql - Fatal编程技术网

Php 选择查询的多个HTML字段

Php 选择查询的多个HTML字段,php,html,mysql,sql,Php,Html,Mysql,Sql,是否可以将表单数据发布到SELECT查询中,以便查询可以根据输入的内容查找结果 例如,我有三个字段: 营销协议编号:\uuuuuuuuuuuuuuu 公司ID:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu 开始日期:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuu 假设我不知道营销协议号是什么,我想通过公司ID而不是营销协议号查找。或者,如果我只是想找到促销活动在某个特定日期(或日期范围)开始的时间,我只需输入开始日期,而不在其他两个日期输入任何内容 目前我的查

是否可以将表单数据发布到SELECT查询中,以便查询可以根据输入的内容查找结果

例如,我有三个字段:
营销协议编号:\uuuuuuuuuuuuuuu
公司ID:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
开始日期:\uuuuuuuuuuuuuuuuuuuuuuuuuuuuu

假设我不知道营销协议号是什么,我想通过公司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字段中的查询改为have或LIKE,而不仅仅是“=”


我可能误解了你的问题。如果您想根据一个人在表单中输入的信息和他们不输入的信息来运行查询,您可以使用一些If逻辑

if ($_POST["man"] != "") {
    $query += sprintf(" AND promoId = '$man'", $_POST["man"]);
}
if ($_POST["companyId"] != "") {
    $query += sprintf(" AND companyId = '$companyId'", $_POST["companyId"]);
}
if ($_POST["startDate"] != "") {
    $query += sprintf(" AND startDate= '$startDate'", $_POST["startDate"]);
}
if ($_POST["man"] != "") {
    $query += sprintf(" AND promoId = '$man'", $_POST["man"]);
}
if ($_POST["companyId"] != "") {
    $query += sprintf(" AND companyId = '$companyId'", $_POST["companyId"]);
}
if ($_POST["startDate"] != "") {
    $query += sprintf(" AND startDate= '$startDate'", $_POST["startDate"]);
}