0
나는 데이터베이스에 5 개 테이블이 도움이 필요, 여기에 MySQL의 코드입니다 :mysql과 php를 사용하여 데이터를 어떻게 일치시킬 수 있습니까?
CREATE TABLE IF NOT EXISTS `candidate` (
`CID` int(4) NOT NULL AUTO_INCREMENT,
`title` varchar(5) NOT NULL,
`fname` varchar(30) NOT NULL,
`lname` varchar(30) NOT NULL,
`dob` date NOT NULL,
`email` varchar(50) NOT NULL,
`address` varchar(255) NOT NULL,
`city` varchar(50) NOT NULL,
`postcode` varchar(10) NOT NULL,
`phone_num` varchar(11) NOT NULL,
`username` varchar(40) NOT NULL,
`password` varchar(40) NOT NULL,
`regdate` datetime NOT NULL,
`acc_type` enum('c','s') NOT NULL DEFAULT 'c',
`emailactivate` enum('0','1') NOT NULL DEFAULT '0',
`cv_name` varchar(60) NOT NULL,
`cv` blob NOT NULL,
PRIMARY KEY (`CID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='// this is the table for the candidates' AUTO_INCREMENT=175 ;
-- --------------------------------------------------------
--
-- Table structure for table `candidate_skill`
--
CREATE TABLE IF NOT EXISTS `candidate_skill` (
`CSID` int(4) NOT NULL AUTO_INCREMENT,
`CID` int(4) NOT NULL,
`S_CODE` int(4) NOT NULL,
PRIMARY KEY (`CSID`),
KEY `CID` (`CID`),
KEY `S_CODE` (`S_CODE`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='//match candidate and skill' AUTO_INCREMENT=102 ;
-- --------------------------------------------------------
--
-- Table structure for table `job`
--
CREATE TABLE IF NOT EXISTS `job` (
`JID` int(4) NOT NULL AUTO_INCREMENT,
`job_title` varchar(40) NOT NULL,
`job_desc` varchar(255) NOT NULL,
`start_date` date NOT NULL,
`end_date` date NOT NULL,
PRIMARY KEY (`JID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='// this is the table for the job vacancies' AUTO_INCREMENT=10 ;
-- --------------------------------------------------------
--
-- Table structure for table `skill`
--
CREATE TABLE IF NOT EXISTS `skill` (
`S_CODE` int(4) NOT NULL AUTO_INCREMENT COMMENT '// this is the skill primary key',
`skill_name` varchar(40) NOT NULL,
`skill_desc` varchar(255) NOT NULL,
PRIMARY KEY (`S_CODE`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
-- --------------------------------------------------------
--
-- Table structure for table `skill_job`
--
CREATE TABLE IF NOT EXISTS `skill_job` (
`SJID` int(4) NOT NULL AUTO_INCREMENT,
`JID` int(4) NOT NULL,
`S_CODE` int(4) NOT NULL,
PRIMARY KEY (`SJID`),
KEY `S_CODE` (`S_CODE`),
KEY `JID` (`JID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=94 ;
그리고 이것은 나에게 문제가주는 쿼리입니다 :
$query = ("SELECT * FROM candidate, candidate_skill, job, skill, skill_job WHERE candidate_skill.S_CODE=skill_job.S_CODE AND skill.S_CODE=candidate_skill.S_CODE AND candidate.CID=candidate_skill.CID AND job.JID = skill_job.JID");
$result = mysql_query ($query);
$candidate_id ='';
$canskill ='';
while ($result = mysql_fetch_array ($res)){
$candidate_id .= $r['CID'];
$canskill .= $r ['S_CODE'];
}
}
}
echo $candidate_id;
내가하려고 해요을 후보자와 일자리를 자신의 기술을 사용하여 일치시키고 나는 일종의 성공했지만 후보자가 일자리와 일치하는 경우에만 한 가지 기술 만 있고 일자리는 예를 들어 세 가지 기술이 있습니다. 며칠 동안 검색, 테스트 및 레코딩했기 때문에 누군가가 올바른 방향으로 나를 가리 키도록 할 수 있습니까?이 문제를 넘어 서지 못했습니다.
형제님께 감사 드리며 저를 구해 주셨습니다 : –
전체 검색어를 어떻게 재구성 할 수 있는지 알려주십시오. –