dqw70970 2015-08-20 14:34
浏览 36

动态搜索引擎PHP PDO

How can I do a multiple search with many skills arguments ??????

 public function searchBySkills($pSkills){   
    $requete = $this->pdo->prepare("SELECT * FROM candidat WHERE skillsCandidat LIKE :skillsCandidat ");
    $requete->bindValue(':skillsCandidat', '%'.$pSkills.'%', PDO::PARAM_STR);

    $requete->execute();
    $tab = $requete->fetchAll(PDO::FETCH_ASSOC);

    $this->listCandidat = array();
    foreach ($tab as $row) {

        $candidat = new Candidat();
        $candidat->fromPost($row);
        //var_dump($row);
        array_push($this->listCandidat, $candidat);
    }
}

The parameter $pSkills is an array

array (size=2)
 0 => string 'developper' (length=10)
 1 => string 'designer' (length=8)

I used to do like this :

$skills   = isset($_POST['skillsCandidat']) ? $_POST['skillsCandidat'] : '';
foreach($skills as $skill){
     $CandidatList->searchBySkills($skill);
}

Is there any other way ?? Thanks in advance for help !

  • 写回答

1条回答 默认 最新

  • dongshan7060 2015-08-20 15:02
    关注
    $search = array('developper','designer');
    $in  = str_repeat('?,', count($search) - 1) . '?';
    $sql = "SELECT c.* FROM skills s JOIN candidates c 
            WHERE c.id=s.cid AND s.name IN($in)
            GROUP BY c.id";
    $search[] = count($search);
    $db->prepare($sql)->execute($search);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。