我正在建立一个网站,候选人可以发布他们的简历,雇主可以发布他们的工作。
雇主可以发布具有多种资格的工作,并将其保存在数据库PHP,Javascript,ASP
中。现在我希望管理员能够选择有资格获得帖子的候选人。
我写过查询:
$sql = "
SELECT
cand_f_name,
cand_l_name,
cand_qualification,
cand_phone,
cand_email,
cand_experience_yr,
cand_experience_mn,
cand_message,
cand_id
FROM
tbl_cand_data
WHERE
cand_qualification LIKE '%$emp_q%'
但它没有显示出预期的结果。我认为我的病情cand_qualification LIKE '$emp_q'
是错误的。
我的tbl_cand_data:
答案 0 :(得分:2)
如果您正在进行LIKE查询,则应该包含通配符,因为它们将匹配包含的字符串,否则只需使用=执行完全匹配:
// String match
WHERE
cand_qualification LIKE '%emp_q%';
// Exact match
WHERE
cand_qualification = '$emp_q';
// You could try a WHERE IN clause as well
WHERE cand_qualification IN ('$emp_q');
// Values have to be quoted individually
WHERE cand_qualification IN ('BA','BSc','BCom');
// If you have an array you can do this:
$myArray = array('BA', 'BSc', 'BCom');
$emp_q = "'" . implode("','", $myArray) . "'"; //Output 'BA', 'BSc', 'BCom'
答案 1 :(得分:2)
我将它保存在数据库中,如PHP,Javascript,ASP
你必须创建一个相关的表(这就是为什么我们的ratabase称为 relational one!)存储资格和互连表,由与候选ID相关联的资格id组成。
并使用基本连接查询它们。
请注意,尽管您目前的决定,即使您决定继续使用您的蹩脚架构,您也必须迟早以适当的方式重新制作(但更快会让您减少工作量)。
这是数据库架构的基础知识,没有人可以反对它。
SELECT fields FROM tbl_cand_data d, qualification q, qual_cand qc
WHERE q.name = 'ASP' AND q.id=qc.qid AND d.id=qc.did
答案 2 :(得分:-1)
喜欢百分比% 试试吧