Php 根据复选框选择查询建筑
我想根据我的复选框列表从我的数据库中生成一个查询 我的复选框: 我的问题是: 如果未选中第一个复选框,则表示我的查询不起作用,因为它与Php 根据复选框选择查询建筑,php,sql,Php,Sql,我想根据我的复选框列表从我的数据库中生成一个查询 我的复选框: 我的问题是: 如果未选中第一个复选框,则表示我的查询不起作用,因为它与或一起工作,而它必须以和开头 你能帮忙吗 谢谢。您的HTML和PHP代码中有很多错误。。。 我不会在这里一一提及,但我会这样做 <input type="checkbox" name="searchName" checked="checked" />Name <input type="checkbox" name="searchAddress"
或
一起工作,而它必须以和
开头
你能帮忙吗
谢谢。您的HTML和PHP代码中有很多错误。。。 我不会在这里一一提及,但我会这样做
<input type="checkbox" name="searchName" checked="checked" />Name
<input type="checkbox" name="searchAddress" />Address
<input type="checkbox" name="searchCompany" />Company
<input type="checkbox" name="searchComments" />Comments
<?php
$fields = array(
'searchName' => 'KDX_Name',
'searchAddress' => 'KDX_PostalAddress',
'searchCompany' => 'KDX_Company',
'searchComments'=> 'KDX_Comments',
);
$cond = array();
foreach ($fields as $form_field => $db_field) {
if (isset($_POST[$form_field])) {
$cond[] = "$db_field LIKE '%'" . mysql_escape($_POST[$form_field]) . "%'";
}
}
$subQuery = implode(' OR ', $cond);
?>
名称
住址
公司
评论
从PDO返回到mysql.*
函数似乎是一个非常糟糕的主意。是的,好的,你可以使用PDO——在这种情况下,这并不重要。请参阅上面我的编辑。或者这不是完整的副本,它有点不同:)
$subQuery='';
if($_POST['searchName']=='true') { $subQuery .= " AND KDX_Name LIKE :KDX_SearchTerm"; }
if($_POST['searchAddress']=='true') { $subQuery .= " OR KDX_PostalAddress LIKE :KDX_SearchTerm"; }
if($_POST['searchCompany']=='true') { $subQuery .= " OR KDX_Company LIKE :KDX_SearchTerm"; }
if($_POST['searchComments']=='true') { $subQuery .= " OR KDX_Comments LIKE :KDX_SearchTerm"; }
<input type="checkbox" name="searchName" checked="checked" />Name
<input type="checkbox" name="searchAddress" />Address
<input type="checkbox" name="searchCompany" />Company
<input type="checkbox" name="searchComments" />Comments
<?php
$fields = array(
'searchName' => 'KDX_Name',
'searchAddress' => 'KDX_PostalAddress',
'searchCompany' => 'KDX_Company',
'searchComments'=> 'KDX_Comments',
);
$cond = array();
foreach ($fields as $form_field => $db_field) {
if (isset($_POST[$form_field])) {
$cond[] = "$db_field LIKE '%'" . mysql_escape($_POST[$form_field]) . "%'";
}
}
$subQuery = implode(' OR ', $cond);
?>