我正在制作电影档案管理系统, 我需要在具有多个结果的案例中对查询结果进行分组
例如,当用户搜索导演名称(例如Steven)时, 有Steven A,Steven B和Steven C的电影,(多个) 我想做的是以他的名字,史蒂芬B以他的名字等显示史蒂芬A的所有电影。
如何使用php和mysql
执行此操作由于
答案 0 :(得分:0)
使用ORDER BY director_name
。这将导致具有相同名称的行一起列出。
您还可以使用PHP中的某些代码来检测导演名称更改时添加标题,如果您希望从一个导演更改为下一个导演更明显。
while (/* read row */)
{
$director_name = ...; // Implement this.
if ($previous_director_name !== $director_name) {
echo ...; // Output director's name.
$previous_director_name = $director_name;
}
echo ...; // Output row.
}
答案 1 :(得分:0)
由于可能有同名的人(有些人实际上更改了名称),因此根据董事姓名进行检查会有点愚蠢。另外,我假设您想将信息存储在某些数据结构中,而不是仅仅在应用程序中的随机位置回显:
$director_movies = array();
while ( /* can get new row */ )
{
$id = $row['director_id'];
if ( ! array_key_exists( $id, $director_movies ) )
{
$director_movies[ $id ] = array();
}
$director_movies[$id][] = $row['movie_title'];
}
// now $director_movies is a 2D array, containing movies for each director
这当然是一个极其简化的例子。