드롭 메뉴 표시가 뜻대로 안됩니다.
본문
<li><table><tr><td><span class="rank_bg<?php echo $rank_bg; ?>"><?php echo $rank; ?></span>
<div class="dropdown">
<a onclick="myFunction()" class="dropbtn"></span><?php echo $rank_name; ?></a>
<?php echo $row['mb_id']?> <!-- 여기서는 아이디가 차례대로 제대로 나옵니다. -->
<div id="myDropdown" class="dropdown-content">
<a href="/g5/bbs/profile.php?mb_id=<?=$row['mb_id']?>">자기소개</a> <!-- 여기서부턴 아이디가 첫번째것만 반복되서 나옵니다. -->
<a href="/g5/bbs/memo_form.php?me_recv_mb_id=<?=$row['mb_id']?>">쪽지보내기</a>
</div>
</div>
</td></tr></table>
<span class="rank_point"><?php echo $point; ?></span></li>
<script>
/* When the user clicks on the button,
toggle between hiding and showing the dropdown content */
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
// Close the dropdown if the user clicks outside of it
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
</script>
포인트 랭킹 목록을 표시하고 이름 클릭하면 드롭메뉴가 나오게 하려고 위 소스를 사용했습니다.
문제는 드롭메뉴는 나오지만 어느 곳에서 건 간에 첫번째 아이디만 나옵니다.
어딜 손봐야할까요...
!-->답변 1
아이디 부분에서 랭킹 첫번째만 나온다는 말씀이시죠?
제가 생각하는게 맞다면
$rank_name = $row['mb_nick'];
이 부분 밑에
$rank_id = $row['mb_id'];
이걸 추가 해주시고.
<li><table><tr><td><span class="rank_bg<?php echo $rank_bg; ?>"><?php echo $rank; ?></span>
<div class="dropdown">
<a onclick="myFunction()" class="dropbtn"></span><?php echo $rank_name; ?></a>
<?php echo $rank_id?> <!-- 여기서는 아이디가 차례대로 제대로 나옵니다. -->
<div id="myDropdown" class="dropdown-content">
<a href="/g5/bbs/profile.php?mb_id=<?=$rank_id?>">자기소개</a> <!-- 여기서부턴 아이디가 첫번째것만 반복되서 나옵니다. -->
<a href="/g5/bbs/memo_form.php?me_recv_mb_id=<?=$rank_id?>">쪽지보내기</a>
</div>
</div>
</td></tr></table>
<span class="rank_point"><?php echo $point; ?></span></li>
<script>
/* When the user clicks on the button,
toggle between hiding and showing the dropdown content */
function myFunction() {
document.getElementById("myDropdown").classList.toggle("show");
}
// Close the dropdown if the user clicks outside of it
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
</script>
이렇게 수정 해주세요.
$rank_id = $row['mb_id'];
은 for 문 안에 있어야 합니다. 그래야지 회원을 조회해서 랭킹 순서대로 출력해요
!-->!-->!-->!-->
답변을 작성하시기 전에 로그인 해주세요.