所以我尝试使用 SQL 搜索 $search_course
的结果,然后将其作为下一条语句 $Search_Module< 的
.WHERE LIKE
部分
一旦 $Search_Module
查询完成,我希望结果在我知道应该正确编码的列表中。
我尝试了以下代码,但搜索没有返回任何值;
如有任何帮助,我们将不胜感激,在此先致谢。
$search_course = "
SELECT title, id, wyl, overview, module, course, careers
FROM course
LEFT JOIN cm
ON course.id=cm.course
WHERE id LIKE '%".$_POST['submitcourseselection']."%'";
$result = $mysqli->query($search_course) or die($mysqli->error);
$display_course = $result->fetch_assoc();
//Searches the module table in the DB for modules within the course
$Search_Module = "
SELECT id, title, level, credits
FROM module
WHERE id LIKE '".$search_course['module']."'";
$M_Results = $mysqli->query($Search_Module) or die($mysqli->error);
$ModuleList = '';
while ($MResults = $M_Results->fetch_assoc()) {
$ID = $MResults['id'];
$Title = $MResults['title'];
$Level = $MResults['level'];
$Credits = $MResults['credits'];
$ModuleList.='<div><h2>'.$Title.'</h2></div>';
}
最佳答案
您不需要在第二个查询中使用 LIKE,您可以通过一个查询完成所有操作。
$search_course = "
SELECT id, title, level, credits
FROM module
WHERE id IN (SELECT module
FROM course
LEFT JOIN cm
ON course.id=cm.course
WHERE id LIKE '%".$_POST['submitcourseselection']."%'")";
关于php - 使用 sql 查询结果作为新 sql 语句的搜索词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36699860/