php - 可以使用一个或多个值进行搜索的搜索功能

标签 php mysql symfony

我正在尝试创建一个搜索功能。但我对如何去做有困难。我是 symfony2 的新手,只是自学并阅读一些教程。

我的 DefaultController 中有一个搜索功能。

public function searchAction(){     
$request = $this->getRequest();
$data = $request->request->get('search');
$data1 = $request->request->get('search1');
$data2 = $request->request->get('search2');

$em = $this->getDoctrine()->getManager();
$query = $em->createQuery(
 'SELECT p 
 FROM FooTransBundle:Transaction p, FooTransBundle:Supplier d
 WHERE p.transType LIKE :data
 AND d.name LIKE :data1
 AND p.sendDate LIKE :data2')
->setParameter('data',$data)
->setParameter('data1',$data1)
->setParameter('data2',$data2);  

$res = $query->getResult();

return $this->render('FooTransBundle:Default:search.html.twig', array(
'res' => $res));
}

在我的 Twig 中,我有一个 search.html.twig

   <form class="form-horizontal"role="form"name ="search"method="post" action="{{path('foo_trans_search') }}">
  <div class="form-group">
    <label for="agr"class="col-sm-2 control-label">Trans Type</label>
      <div class="col-sm-10">
          <input type="text"class="form-control"id="agr"placeholder="Trans type" name ="search">
  </div>
  </div>
  <div class="form-group">
    <label for="trad"class="col-sm-2 control-label">Name:</label>
      <div class="col-sm-10">
        <input type="text"class="form-control"id="trad"placeholder="Name" name ="search1">
      </div>
  </div>
  <div class="form-group">
    <label for="send"class="col-sm-2 control-label">Send Date:</label>
      <div class="col-sm-10">
        <input type="text"class="form-control"id="send"placeholder="YYYY-MM-DD"name ="search2">
      </div>
  </div>
  <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10">
          <button type="submit"class="btn btn-primary">Submit</button>
  </div>
 </div>
  </form>

我想要的是通过填写三个输入字段、两个输入字段甚至仅三个输入字段之一来从数据库中搜索数据。但它仍然会返回搜索到的数据。

请帮助我。谢谢。

最佳答案

分两步你的应用程序应该可以工作:

首先:得到结果

 $res =  $query->getQuery()->getResult();

二:在 View 中浏览资源

{%for result in res %}

   {{ result.name }}

{%endfor%}

您可以使用 symfony 表单做得更好。

关于php - 可以使用一个或多个值进行搜索的搜索功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24775814/

相关文章:

php - Symfony3(或 htaccess)仅在特定的基本 url 上强制执行 HTTPS

Twig 提取 FOR 循环变量

PHP MYSQL JOIN QUERY 2 数据库,其中 table1.id = table2.id,如何将 table2.content 显示为 table1.id

php - 如何在 SVN 中使用预提交 Hook 返回版本库的修订号?

c# - 从 DbSet<TEntity> 中获取属性值在 IEnumerable 中的所有实体

大型数据库中子查询的MySQL效率

php - Twitter API 中的 410 错误状态是什么?

php - PHPMailer 中的多个图像附件

mysql - 此方法的 MySQL 连接需要结果

symfony - 使用 Monolog 在 Symfony2 中记录 PHP fatal error