Amita Singh
asked on
generate a dynamic mysql query
php code where I am trying to generate a dynamic mysql query for https://www.experts-exchange.com/questions/28975524/Get-error-when-search-query-run-in-loop.html?anchor=a41837368&anchorAnswerId=41837368#a41837368
The query is giving me error.
php code is
The query is giving me error.
php code is
if($skillsMain) {
// Search for employees from Table: employee_info
$sql_search = "SELECT * FROM employee_info WHERE 1 = 1 ";
if($city!='') {
$sql_search .= " AND city='$city' ";
}
if($skillsMain!='' && $skillsMain!='.' & $skillsMain!=',') {
$sql_search .= " AND ( ";
$skillsArr = explode(',', $skillsMain);
$arrCount = count($skillsArr);
$counter = 1;
foreach($skillsArr as $skills){
$skills = trim($skills);
$sql_search .= "( key_skills LIKE '%$skills%' OR job_title LIKE '%$skills%' OR current_designation LIKE '%$skills%' OR company_name LIKE '%$skills%' OR objective LIKE '%$skills%' OR resum_headline LIKE '%$skills%' OR job_responsibility LIKE '%$skills%' OR institute LIKE '%$skills%' OR institute LIKE '%$skills%')";
if($counter < $arrCount) {
$sql_search .= " OR ";
}
$counter ++;
}
$sql_search .= " ) ";
}
// Filter by Experience
if($exp_min && $exp_max) {
$sql_search .= " AND total_experience between $exp_min and $exp_max";
} else if($exp_min) {
$sql_search .= " AND total_experience > $exp_min";
} else if($exp_max) {
$sql_search .= " AND total_experience < $exp_max";
} else if($experience!='')
{
$sql_search .= " AND total_experience=$experience";
}
// Filter By Salary
if($sal_min && $sal_max) {
$sql_search .= " AND salary between $sal_min and $sal_max";
} else if($sal_min) {
$sql_search .= " AND salary > $sal_min";
} else if($sal_max) {
$sql_search .= " AND salary < $sal_max";
} else if($salary!='')
{
$sql_search .= " AND salary='$salary'";
}
if($func!='') {
$sql_search .= " and functional_area='$func'";
}
if($inds!='') {
$sql_search .= " and industry='$inds'";
}
if($qual!='') {
$sql_search .= " and qualification='$qual'";
}
// for keywords
if($keywords!='' && $refineskills!='' ) {
$sql_search .= " and job_description LIKE '%".$keywords."%' or skills LIKE '%".$keywords."%' ";
}
$sql_search .= " GROUP BY uid DESC";
$sql_search .= " UNION ";
$arrCount1 = count($skillsArr);
$counter1 = 1;
foreach($skillsArr as $skills1){
$skills1 = trim($skills1);
$sql_search .= "(SELECT `id` , `uid` , `pre_company_name` , `pre_industry` , `pre_functional_area` , `pre_job_date` , `pre_job_date_month` , `pre_responsibility` FROM prev_companies WHERE pre_company_name LIKE '%".$skills1."%' OR pre_industry LIKE '%". $skills1 ."%' OR pre_functional_area LIKE '%". $skills1 ."%' OR pre_responsibility LIKE '%". $skills1 ."%')";
if($counter1 < $arrCount1) {
$sql_search .= " OR ";
}
$counter1 ++;
}
echo $sql_search;
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER