gpt4 book ai didi

php - MySQL 查询搜索(高级)

转载 作者:行者123 更新时间:2023-11-29 09:13:01 26 4
gpt4 key购买 nike

我有一个类(class)页面,该页面设置为显示详细信息(简单),然后显示每个学期的第一、第二、第三和第四节课是谁教的。问题是,我的教师数据是在一个巨大的链中处理的。

鲍比:1-1-1-1-1-1-1-1

蒂娜:20-20-20-10-1-1-1-1

乔伊:20-1-1-1-49-432-10-19

我想做的是找到一门类(class):20,当所有信息显示出来后,会通过教师进行搜索,找出谁在教授类(class)20,什么时间段?

例如。

Course id: 20
Period 1: Joey, Tina
Period 2: Tina
Period 3: Tina

我希望通过一次搜索就能找到教授该类(class)的每位老师,但考虑到容量数据的障碍,这可能是一个问题。

教师表:ID/名称/链接/类(class) (1-1-1-1-1-1-1-1)

类(class)表:id/姓名/代码/年级/级别

教师类(class)包含类(class)表中的 ID

最佳答案

虽然重新构建数据库可能是最好的答案,但我想我应该发布一个直接的 php 解决方案,该解决方案适用于您当前的结构以及假定的其余代码。

//I set up variables to contain your expected search results so I could test
$search_course = '20';
$search_results = array(
'Bobby' => '1-1-1-1-1-1-1-1',
'Tina' => '20-20-20-10-1-1-1-1',
'Joey' => '20-1-1-1-49-432-10-19'
);

//explode the course strings into arrays and store with teacher names so
//you can loop through them later
foreach($search_results as $teacher=>$string_courses){
$array_courses = explode('-',$string_courses);
$search_results[$teacher] = $array_courses;
}

//Match course you are searching for to the elements in your array
//Create a result array with period and matching teachers
foreach($search_results as $teacher=>$courses){
foreach($courses as $period => $course){
if($course == $search_course){
$results[$period][] = $teacher;
}
}
}

//Loop through your result array and show the results
//I expect you'll have different html for this
foreach($results as $period => $teachers){
echo 'Period: ';
echo $period+1;
echo implode(',',$teachers);
echo '<br>';
}

打印的结果与您在 OP 中想要的列表相符

关于php - MySQL 查询搜索(高级),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4984553/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com