首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP MySQL表格数据到accordion

问PHP MySQL表格数据到accordion
EN

Stack Overflow用户
提问于 2017-03-13 00:01:00
回答 1查看 2.3K关注 0票数 0

我有一个页面,我想让它在accordion中显示数据库表的数据,同时有一些按钮来编辑显示在accordion上的数据。最初,我试图显示手风琴,但当单击它们时,只有第一个手风琴折叠。

这是我目前拥有的代码:

代码语言:javascript
复制
<?php

    $sql = "SELECT nopId, studentname, studentcourse FROM nopforms";
    $result = $con->query($sql);

    if ($result->num_rows > 0) {
    // output data of each row
        while($row = $result->fetch_assoc()) {
            $studentname = $row["studentname"];
            $studentcourse = $row["studentcourse"];
            echo "<div class='pnel-group' id='accordion'>
                    <div class='panel panel-default'>
                    <div class='panel-heading'>
                    <h4 class='panel-title'>
                    <a data-toggle='collapse' data-parent='#accordion' href='#collapse1'>".$studentname."</a>
                        </h4>
                        </div>
                         <div id='collapse1' class='panel-collapse collapse'>
                            <div class='panel-body'>".$studentcourse."</div>
                        </div>
                        </div>
            ";
            }
    } else {
    echo "You have not submitted any logs!";
    }




    ?>

Html代码:

代码语言:javascript
复制
<div class="panel-group" id="accordion">
            <div class="panel panel-default">
            <div class="panel-heading">
            <h4 class="panel-title">
            <a data-toggle="collapse" data-parent="#accordion" href="#collapse1"><?php echo $row["studentname"]; ?></a>
            </h4>
            </div>
            <div id="collapse1" class="panel-collapse collapse">
            <div class="panel-body">Lorem ipsum dolor sit amet, consectetur adipisicing elit,
                sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</div>
            </div>
                </div>
                </div>

耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-13 00:30:31

正如上面的注释所建议的,您需要为每个accordion指定一个唯一的id,否则它们都将指向相同的元素。

您可以按如下方式更改代码:

代码语言:javascript
复制
<?php

$sql = "SELECT nopId, studentname, studentcourse FROM nopforms";
$result = $con->query($sql);

$i = 0; 
if ($result->num_rows > 0) {
// output data of each row
    while($row = $result->fetch_assoc()) {
        $i++;
        $studentname = $row["studentname"];
        $studentcourse = $row["studentcourse"];
        echo "
            <div class='pnel-group' id='accordion".$i."'>
                <div class='panel panel-default'>
                    <div class='panel-heading'>
                        <h4 class='panel-title'>
                            <a data-toggle='collapse' data-parent='#accordion".$i."' 
                                    href='#collapse".$i."'>"
                                .$studentname."
                            </a>
                        </h4>
                    </div>
                    <div id='collapse".$i."' class='panel-collapse collapse'>
                        <div class='panel-body'>".$studentcourse."</div>
                    </div>
                </div>
            </div>
        ";
    }
} else {
echo "You have not submitted any logs!";
}

?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42749656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档