표제작 관련 mysql구문 질문입니다..

표제작 관련 mysql구문 질문입니다..

QA

표제작 관련 mysql구문 질문입니다..

본문

안녕하세요?

조직도를 좀 만들어보고 있습니다.

어찌어찌 해서 표를 만들어 db를 불러와 내용을 채우는데는 성공하였는데요, 다만 같은부서를 rowspan을 사용해서 하나로 묶고싶은데 잘 구현이 안되네요 ㅎ;;

1

 

2

경영지원팀

홍길동1

 

경영지원팀

홍길동1

경영지원팀

홍길동2

 

홍길동2

경영지원팀

홍길동3

 

홍길동3

경영지원팀

홍길동4

 

홍길동4

경영지원팀

홍길동5

 

홍길동5

 

현재는 표1 처럼 만들어져있구요, 표2처럼 만들고자 이것저것 시도해보는중입니다.

부서별로 2~3개정도의 팀이 있는데요, mysql 구문으로 구현이 가능할까요? 아니면 다른방법이 있다면 추천부탁드립니다..

 


<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 rowspan="" 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>

 

현재 코드입니다.

<td rowspan=""class="belong line_no_left"><?php echo $row_or['or_belong'] ?></td>

rowspan 부분에 group by 등을 사용해서 수를 넣어주고싶은데 어렵네요;

 

조언 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 3

php에서 loop 돌면서 하는 것은 좀 복잡해서

https://stackoverflow.com/questions/46344928/how-to-merge-cells-with-equal-values

자바스크립트로 하는 방법입니다.

     $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 ");

<td rowspan="<?php echo $rowspan['cnt']?> "class="belong line_no_left"> 

 

이렇게 하시면 되지 않을까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 1,543
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT