如何获取正确ID中的名称而不重复父表的ID名称?
JS
$(function() {
$('.titulo').click(function() {
var conteudo = $(this).parent().find('.conteudo');
if (!conteudo.hasClass('show')) {
$('.caixa').find('.show').slideUp('fast', function() {
$(this).addClass('hide').removeClass('show');
});
conteudo.slideDown('fast', function() {
$(this).addClass('show').removeClass('hide');
});
}
});
});
在 PHP 中,我使用两个表,一个保存我的 Accordion 的标题,表名称为 temporadas
,该表包含以下字段。
临时餐 table
`id` int(11) NOT NULL //auto increment
`id_serie` int(11) NOT NULL //identifies which ID to display my accordion
`id_temporada` int(11) NOT NULL //identifies the ID of my accordion
`nome_temporada` varchar(90) NOT NULL //name displayed on the accordion
表情节
我的另一个保存 Accordion 内容的表称为episodios
,该表将其内容显示为我的temporadas
的id_temporada
table 等于我的表 episodios
的 id_temporada
,这是我的表。
`id` int(11) NOT NULL //auto increment
`id_serie` int(11) NOT NULL //identifies which ID to display my accordion
`id_temporada` int(11) NOT NULL //identifies the ID of my accordion
`nome_episodio` varchar(100) NOT NULL //contents of my accordion
PHP
$url = explode("/",$_GET['url'],-1);
$url = $url[1];
if(isset($_GET['id_serie'])){
$id_serie = $_GET['id_serie'];
}
$temporadas = "SELECT * FROM `temporadas` AS T INNER JOIN `episodios` AS E ON T.`id_temporada` = E.`id_temporada` WHERE T.`id_serie` = '$url'";
$temporadasShow = mysqli_query($conn, $temporadas);
while($show = mysqli_fetch_assoc($temporadasShow)){
echo '
<div class="caixa">
<a href="javascript:void(0)" class="titulo"><i class="fa fa-check"></i> '.$show['nome_temporada'].'</a>
<div class="conteudo hide">
'.$show['nome_episodio'].'
</div>
</div>
';
}
CSS
.hide{display: none;}
我的困难是我无法使我的 temporadas
表的 nome_temporada
字段仅显示一次,当它有多个 ID 与之对应时,它会添加另一个名称在循环中,我怎样才能使它不发生?
最佳答案
选择 T.id、T.id_serie、T.id_temporada、T.nome_temporada、
GROUP_CONCAT(E.nome_episodio) 作为 nome_episodio
来自 temporadas
AS T
INNER JOIN episodios
AS E
ON T.id_temporada
= E.id_temporada
其中 T.id_serie
= 2 按 T.id_temporada 分组
您可以使用其他聚合函数,例如 JSON_ARRAYAGG、JSON_OBJECTAGG 等,而不是 GROUP_CONCAT。
关于javascript - Accordion 的组装结构和循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51413907/