使用多个选择元素的值创建搜索?

时间:2009-11-25 13:18:17

标签: php search search-engine

我在PHP(使用Symfony Framework)工作,我想基于从多个选择元素中选择的多个值创建搜索, 即会有类似国家,城市,年龄等的多个选择下拉元素。 并且它们的值将查询数据表并提供所需的搜索输出。 (所有值都不是必需的,将使用至少一个值)。 这个想法也会做..

1 个答案:

答案 0 :(得分:0)

我使用Symfony作为框架,所以我的代码就像这样,

在行动中,

$values=$this->form->getValues();
$nation=$values['nation'];
$township=$values['township'];
$job=$values['job'];
$programming_language_known=$values['programming_language_known'];
if($nation != null || $township != null || $job != null || $programming_language_known != null){
//calling the function 
$this->search_data=Jobs::jobSearch(...parameter's here...);  
}else{ // search_data = null }
模型中的

public static function jobSearch($nation=null, $township=null, $job=null, $programming_language=null)
{
   $c=new Criteria();
   if($nation != null)
   {
      $c->addAnd(JobsPeer::NATION,$nation);
   } 
   if($township != null)
   {
      $c->addAnd(JobsPeer::TOWNSHIP,$township);
   }
   if($job != null)
   {
      $c->addAnd(JobsPeer::JOB,$job);
   }  
   if($programming_language != null)
   {
      $c->addAnd(JobsPeer::LANGUAGE,$programming_language);
   }
   $jobs=JobsPeer::doSelect($c);
   return $jobs;
}

它现在有用,但我不知道它是一个好的逻辑......