0
我有一个表格,其中用户选择可用的技能:SELECT查询选择
<form name="myForm" action="jssearch.php" method="post">
<input type="checkbox" name="chk1[]" value="1">Helpdesk Support
<input type="checkbox" name="chk1[]" value="2">DB Admin<br>
<input type="checkbox" name="chk1[]" value="3">C++ Programming
<input type="checkbox" name="chk1[]" value="5">HTML<br>
<input type="checkbox" name="chk1[]" value="6">PHP<br>
<input type="checkbox" name="chk1[]" value="7">Memory Dump Analysis<br>
<input type="checkbox" name="chk1[]" value="8">SQL<br><br>
<input type="submit" name="Update" value="Search">
</form>
在此基础上选择,我想在其上运行一个多到多表查询并显示可用包含所选技能的作业。
这是我的查询到目前为止:
<?php
session_start();
mysql_connect("localhost", "root", "root") or die(mysql_error());
mysql_select_db("jobsearch") or die(mysql_error());
$variable=$_POST['chk1'];
foreach ($variable as $variablename)
{
$query = mysql_query(
"SELECT jobs.jobid AS job_id, jobs.jobtitle AS
job_title,jobs.salary AS salary_desc, GROUP_CONCAT(skills.Desc) AS skills_desc
FROM jobskillsjoin
INNER JOIN jobs ON jobs.jobid = jobskillsjoin.JobID
INNER JOIN skills ON skills.skill_id = jobskillsjoin.SkillID
WHERE skills.skill_id = '".$variablename."'
GROUP BY jobs.jobid
")
or die(mysql_error());
}
echo "<table border='1'>
<tr>
<th>Job ID</th>
<th>Job Title</th>
<th>Skills required</th>
<th>Salary Offered</th>
</tr>";
while($row = mysql_fetch_array($query))
{
echo "<tr>";
echo "<td>" . $row['job_id'] . "</td>";
echo "<td>" . $row['job_title'] . "</td>";
echo "<td>" . $row['skills_desc'] . "</td>";
echo "<td>" . $row['salary_desc'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
会发生什么事是,虽然只有最后选择的技能是通过查询运行。我想要显示所有的“点击”。
我想我需要一个循环和一个数组,但我不知道该怎么做。
它的工作原理!我已经在这个几个小时了...非常感谢Jose :-) – Gary 2013-05-01 15:30:37
嗯......虽然有用,但它只显示选中的技能。我的意思是,如果一项工作具有与之相关的技能1 2和3,并且我搜索技能1,它会找到这份工作。但它唯一的打印技能1 ...我需要它来打印特定工作的所有技能。有任何想法吗? – Gary 2013-05-01 15:33:31
改变你的问题,使我的最后一版有意义 – 2013-05-01 15:51:41