표제작 관련 mysql구문 질문입니다.. 채택완료
안녕하세요?
조직도를 좀 만들어보고 있습니다.
어찌어찌 해서 표를 만들어 db를 불러와 내용을 채우는데는 성공하였는데요, 다만 같은부서를 rowspan을 사용해서 하나로 묶고싶은데 잘 구현이 안되네요 ㅎ;;
|
표1 |
|
표2 |
||
|
경영지원팀 |
홍길동1 |
|
경영지원팀 |
홍길동1 |
|
경영지원팀 |
홍길동2 |
|
홍길동2 |
|
|
경영지원팀 |
홍길동3 |
|
홍길동3 |
|
|
경영지원팀 |
홍길동4 |
|
홍길동4 |
|
|
경영지원팀 |
홍길동5 |
|
홍길동5 |
|
현재는 표1 처럼 만들어져있구요, 표2처럼 만들고자 이것저것 시도해보는중입니다.
부서별로 2~3개정도의 팀이 있는데요, mysql 구문으로 구현이 가능할까요? 아니면 다른방법이 있다면 추천부탁드립니다..
</p>
<p><ul class="tabNav_tab tabnav">
<!--부서 카테고리(s)-->
<?php
$sql = "select * from g5_or_master where or_id order by or_id asc";
$result = sql_query($sql);
$row = sql_num_rows($result);
for ($i = 1; $row = sql_fetch_array($result); $i++){
?>
<li><a href="#tab0<?=$i?>" class="active"><?php echo $row['or_subject'] ?></a></li>
<?php } ?>
<!--부서 카테고리(e)-->
</ul>
<div class="tabcontent">
<!--부서별 그룹화(s)-->
<?php
$sql = "select gr_id from g5_or_detail group by gr_id";
$result = sql_query($sql);
$row = sql_num_rows($result);
for ($i = 1; $row = sql_fetch_array($result); $i++){
?>
<div id="tab0<?=$i?>">
<div class="table-box">
<table class="table--min">
<tr>
<th class="belong line_no_left">소속</th>
<th class="spot">직위</th>
<th class="name">직원명</th>
<th class="tel">전화번호</th>
<th class="job">담당업무</th>
<th class="mail line_no_right">이메일</th>
</tr>
<!--부서인원정보(s)-->
<?php
$sql_or = "SELECT * FROM g5_or_detail where gr_id = $i order by or_order asc";
$result_or = sql_query($sql_or);
for ($j=1; $row_or = sql_fetch_array($result_or); $j++){
?>
<tr>
<td <span style="background-color:#e74c3c;">rowspan=""</span> class="belong line_no_left"><?php echo $row_or['or_belong'] ?></td>
<td class="spot align_c"><?php echo $row_or['or_spot'] ?></td>
<td class="name align_c"><?php echo $row_or['or_name'] ?></td>
<td class="tel align_c"><?php echo $row_or['or_tel'] ?></td>
<td class="job"><?php echo $row_or['or_job'] ?></td>
<td class="mail line_no_right"><?php echo $row_or['or_email'] ?></td>
</tr>
<?php } ?>
<!--부서인원정보(e)-->
</table>
</div>
</div>
<?php } ?>
<!--부서별 그룹화(e)-->
</div>
</div></p>
<p>
현재 코드입니다.
rowspan 부분에 group by 등을 사용해서 수를 넣어주고싶은데 어렵네요;
조언 부탁드립니다.
답변 3개
php에서 loop 돌면서 하는 것은 좀 복잡해서
https://stackoverflow.com/questions/46344928/how-to-merge-cells-with-equal-values
자바스크립트로 하는 방법입니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
추가 피해자 방지 https://sir.kr/conflictconsultation/245" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/conflictconsultation/245
댓글을 작성하려면 로그인이 필요합니다.
$sql_or = "SELECT * FROM g5_or_detail where gr_id = $i order by or_order asc";
$result_or = sql_query($sql_or);
$rowspan = sql_fetch(" select count(*) as cnt from g5_or_detail where gr_id = $i ");
이렇게 하시면 되지 않을까요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다. "class="belong line_no_left">
답변에 대한 댓글 1개
시간내주셔서 감사합니다.
알려주신 ajax외에 동적테이블 셀병합하는게 자바스크립트에 있더라구요. 덕분에 알게되어 구현했습니다.
감사합니다.