编辑......我有一个基于学习环境的标准化数据库。我希望能够搜索名为“C_Search”的表中的一组关键字,并使用它们来提取存储在“C_Info”中的课程详细信息。我有一个基本的搜索功能,但它让我发疯了,因为我对所有这些都是新手,并尝试学习如何获得涉及的关键字......有时我们需要帮助
这些是相关的表和其中的字段。
C_Info
Course_ID Course_Name C_Description C_Duration C_Cost C_Entry_Req C_Assessment_Type C_Progression C_Type
C_搜索
Course_ID C_Key_Words C_NLC_Ref_No Awarding_Body C_UCAS_Code
有一个用逗号分隔的关键字列表。我想使用它们来允许用户在数据库中搜索可用的课程。
我知道我之前已经发布过这个,但有些答案令人困惑,我正在努力学习。
<?php
mysql_connect ("localhost", "jimbooth_test","test1") or die (mysql_error());
mysql_select_db ("jimbooth_groupproject");
// first part of the main query (with dummy WHERE operator so you can then use AND operators)
$query .= " AND C_Description like '%{$keyword_row['keyword']}%'";
// query the keywords
$res1 = mysql_query("select keyword from C_Search") or trigger_error(mysql_error()
// loop through rows and add conditions to the main query
while ($keyword_row = mysql_fetch_assoc($res1)) {
$query .= " AND C_Description like '%{$keyword_row['keyword']}%'";
}
$res2 = mysql_query($query);
die($query);
if (mysql_num_rows($res2) <= 0) {
// no results
echo 'Sorry, No results found.';
} else
while ($row = mysql_fetch_array($res2)){
echo '<br/> <B>Course Title:</B> '.$row['Course_Name'];
echo '<br/> <B>Course Info:</B> '.$row['C_Description'];
echo '<br/> <B>Duration:</B> '.$row['C_Duration'];
echo '<br/> <B>Entry Requirements:</B> '.$row['C_Entry_Req'];
echo '<br/> <B>Course Cost: '.$row['C_Cost'];
echo '<br/> <B>Course Progression: '.$row['C_Progression'];
echo '<br/><br/>';
}
?>