Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.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 MYSQL制作表单_Php_Html_Mysql_Twitter Bootstrap - Fatal编程技术网

如何使用多查询PHP MYSQL制作表单

如何使用多查询PHP MYSQL制作表单,php,html,mysql,twitter-bootstrap,Php,Html,Mysql,Twitter Bootstrap,如何从php和mysql中输入的多个查询生成表单,我应该只使用查询还是使用多个条件来生成最终查询,下面是表单的示例: 也许像这样 SELECT * FROM aset WHERE lokasi= .. OR jenis=.. OR merk=.. OR tanggal=.. 如果表单中的输入为空,如何跳过WHERE子句之一 谢谢 您可以先检查字段是否给定/有任何值,然后将其添加到查询中,这样您就可以使用要添加的append“=”操作符传递只包含提供字段的查询 $query = "SELECT

如何从php和mysql中输入的多个查询生成表单,我应该只使用查询还是使用多个条件来生成最终查询,下面是表单的示例:

也许像这样

SELECT * FROM aset WHERE lokasi= .. OR jenis=.. OR merk=.. OR tanggal=..
如果表单中的输入为空,如何跳过WHERE子句之一



谢谢

您可以先检查字段是否给定/有任何值,然后将其添加到查询中,这样您就可以使用要添加的append“=”操作符传递只包含提供字段的查询

$query = "SELECT * FROM aset";

if($_POST['lokasi'] != ''}{

 $query =. "WHERE lokasi ='something'";

}

 if($_POST['jenis'] != ''}{

    if (strpos($query, "lokasi") !== false) //if lokasi exists in the query then add AND
    {
      $query =. " AND WHERE jenis ='something'";

    } else {

    $query =. " WHERE jenis ='something'";

    }

}

您应该或只是将表列设置为默认NULL,其中每次向表中插入记录时,如果表单中有跳过字段,它仍将向表中插入查询

例如,创建表时

create table sample(id int(11) not null auto_increment,sample_column_1 varchar(255) default null,sample_column_2 varchar(255) default null,primary key(id));

抱歉,不清楚您在问什么可能是您正在搜索的查询中类似于的问题?是否要添加筛选器(因此,如果用户键入一个‘lokasi’和一个‘jenis’——它应该同时匹配吗?应该只匹配kindof吗?应该匹配其中的一个还是?这里是示例条件1:lokasi、merk、jenis、tanggal用数据填充,然后查询是SELECT*FROM aset,其中lokasi=…或jenis=…或merk=…或tanggal=…条件2:只有lokasi merk填充了数据,并且查询是从aset中选择*的,其中lokasi=…或merk=…谢谢!您可以对每个默认值执行
其中1=2
,然后为每个输入添加`OR x=input1`(或者
其中1=1
,如果其他条件应为
)是的,谢谢,但在mysql中,如果条件为空,是否可以跳过WHERE?是的,例如,如果您单击“搜索”按钮,但4个字段中没有任何值,那么查询将从“aset”表中选择所有行,因为查询将只包含“select*from aset”;是的,我的意思是查询中的skip,例如:lokasi=skip或其他什么,所以我们只需要进行一次查询,而不需要在phpyes中设置许多条件,我理解,你的意思是如果只有“lokasi”字段,其余3个字段为空,那么查询应该只有WHERE lokasi='something'对吗?如果lokasi=SKIP,您不能这样做,而是必须根据条件构建查询为什么搜索需要创建整个其他表?