테이블 표 테두리

테이블 표 테두리

QA

테이블 표 테두리

본문

 


<center>
<table class="tg">
<?php
$gr = [ 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL' ] ;
$gr_th = 'AF';
$span = 'rowspan = "6"';
$vertical = 'style="width: 40px; writing-mode: vertical-lr; text-align: center; vertical-align : middle;" ';
view($gr, $gr_th, $span, $vertical);
//
$gr = [ 'BM', 'BN', 'BO', 'BP', 'BQ', 'BR', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ', 'CA', 'CB', 'CD', 'CE', 'CF', 'CG', 'CH', 'CI', 'CJ', 'CK', 'CL', 'CM', 'CN', 'CO', 'CP', 'CQ', 'CR', 'CS', 'CT', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DA', 'DB', 'DC', 'DD', 'DE', 'DF', 'DG', 'DH', 'DI', 'DJ', 'DK', 'DL', 'DM', 'DN', 'DO', 'DP', 'DQ'] ;
$gr_th = 'CC';
$span = 'rowspan = "7"';
$vertical = 'style="width: 40px; writing-mode: vertical-lr; text-align: center; vertical-align : middle;" ';
view($gr, $gr_th, $span, $vertical);
//
$gr = [ 'DR', 'DS', 'DT', 'DU', 'DV', 'DW', 'DX', 'DY', 'DZ', 'EA', 'EB', 'EC', 'ED', 'EE', 'EF', 'EG', 'EI', 'EJ', 'EK', 'EL', 'EM', 'EN', 'EO', 'EP', 'EQ', 'ER', 'ES', 'ET', 'EU', 'EV', 'EW', 'EX', 'EY', 'EZ', 'FA', 'FB', 'FC', 'FD', 'FE', 'FF', 'FG', 'FH', 'FI', 'FJ', 'FK', 'FL', 'FM', 'FN' ];
$gr_th =  'EH';
$span = 'rowspan = "6"';
$vertical = 'style="width: 40px; writing-mode: vertical-lr; text-align: center; vertical-align : middle;" ';
view($gr, $gr_th, $span, $vertical);
?>
</table>
</center>
<?php
function view($gr, $gr_th, $span, $vertical) {
    global $fetch;
    $x = 0;
    for($i=0; $i <=count($gr) -1 ; $i++) {
        $x++;
        if( $i % 2 == 0 ) { $fetch[$gr[$i]] = '문자' ; }
        if( $i != 0 AND $i % 2 != 0  AND $i <= 18) { $fetch[$gr[$i]] = 0; }
        else if ( $i != 0 AND $i % 2 != 0  AND $i >= 18 ) {$fetch[$gr[$i]] = " "; }
        if( $i == 0 ) { echo '<tr><td class="td1" '. $vertical .' '. $span .'><b>'. $fetch[$gr_th] .'</b></td>' ;}
        if( is_numeric($fetch[$gr[$i]]) ) { $fetch[$gr[$i]] = number_format($fetch[$gr[$i]]); echo '<td  style="text-align: right; border-width: 1px; border-bottom: 1px solid #ccc; text-align:center; vertical-align:top;"> '. $fetch[$gr[$i]] .'</td>';}
        else { echo '<td style="border-width: 1px; border-left: 1px solid black; border-bottom: 1px solid #ccc;  border-right: 1px solid #ccc; text-align: center;">'. $fetch[$gr[$i]] .'</td>'; }
        if($x == 8) { echo '</tr>'; $x = 0; }
    }
    echo '<tr><td colspan="9" style=""></td></tr>';
}
?>
<style type="text/css">
.td1{ border-width: 1px; border-bottom: 1px solid #ccc; text-align:center; vertical-align:top; }
.td2 { border-width: 1px; border-left: 1px solid black; border-bottom: 1px solid #ccc;  border-right: 1px solid #ccc; text-align: center; }
.td3 { height:10px; border: 0px solid; border-top: 2px solid black; }
.tg  {border-collapse:collapse;border-spacing:0; width: 21cm;}
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  overflow:hidden;word-break:normal; text-align: center;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
</style>

 

위 코드를 실행하면 결과물이 아래처럼 나옵니다.

 

3732213272_1669372583.9091.png

 

제가 원하는건 0값 오른쪽 선이 숫자가 있던 없던 진한 선으로 나왔으면 합니다.

그리고 <tr> 마지막에 라인도 진한 선이 나오게 하고 싶습니다.

 

이 질문에 댓글 쓰기 :

답변 3


<center>
<table class="tg">
<?php
$gr = [ 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ', 'BA', 'BB', 'BC', 'BD', 'BE', 'BF', 'BG', 'BH', 'BI', 'BJ', 'BK', 'BL' ] ;
$gr_th = 'AF';
$span = 'rowspan = "6"';
$vertical = 'style="width: 40px; writing-mode: vertical-lr; text-align: center; vertical-align : middle;" ';
view($gr, $gr_th, $span, $vertical);
//
$gr = [ 'BM', 'BN', 'BO', 'BP', 'BQ', 'BR', 'BS', 'BT', 'BU', 'BV', 'BW', 'BX', 'BY', 'BZ', 'CA', 'CB', 'CD', 'CE', 'CF', 'CG', 'CH', 'CI', 'CJ', 'CK', 'CL', 'CM', 'CN', 'CO', 'CP', 'CQ', 'CR', 'CS', 'CT', 'CU', 'CV', 'CW', 'CX', 'CY', 'CZ', 'DA', 'DB', 'DC', 'DD', 'DE', 'DF', 'DG', 'DH', 'DI', 'DJ', 'DK', 'DL', 'DM', 'DN', 'DO', 'DP', 'DQ'] ;
$gr_th = 'CC';
$span = 'rowspan = "7"';
$vertical = 'style="width: 40px; writing-mode: vertical-lr; text-align: center; vertical-align : middle;" ';
view($gr, $gr_th, $span, $vertical);
//
$gr = [ 'DR', 'DS', 'DT', 'DU', 'DV', 'DW', 'DX', 'DY', 'DZ', 'EA', 'EB', 'EC', 'ED', 'EE', 'EF', 'EG', 'EI', 'EJ', 'EK', 'EL', 'EM', 'EN', 'EO', 'EP', 'EQ', 'ER', 'ES', 'ET', 'EU', 'EV', 'EW', 'EX', 'EY', 'EZ', 'FA', 'FB', 'FC', 'FD', 'FE', 'FF', 'FG', 'FH', 'FI', 'FJ', 'FK', 'FL', 'FM', 'FN' ];
$gr_th =  'EH';
$span = 'rowspan = "6"';
$vertical = 'style="width: 40px; writing-mode: vertical-lr; text-align: center; vertical-align : middle;" ';
view($gr, $gr_th, $span, $vertical);
?>
</table>
</center>
<?php
function view($gr, $gr_th, $span, $vertical) {
    global $fetch;
    $x = 0;
    for($i=0; $i <=count($gr) -1 ; $i++) {
        $x++;
        $fetch_gr_th = '';
        if (isset($fetch[$gr_th]) == true) {
            $fetch_gr_th = $fetch[$gr_th];
        }
        if( $i % 2 == 0 ) { $fetch[$gr[$i]] = '문자' ; }
        if( $i != 0 AND $i % 2 != 0  AND $i <= 18) { $fetch[$gr[$i]] = 0; }
        else if ( $i != 0 AND $i % 2 != 0  AND $i >= 18 ) {$fetch[$gr[$i]] = " "; }
        if( $i == 0 ) { echo '<tr><td class="td1" '. $vertical .' '. $span .'><b>'. $fetch_gr_th .'</b></td>' ;}
        if( is_numeric($fetch[$gr[$i]]) ) { $fetch[$gr[$i]] = number_format($fetch[$gr[$i]]); echo '<td class="td2"> '. $fetch[$gr[$i]] .'</td>';}
        else if ( empty(trim($fetch[$gr[$i]])) === true ) { echo '<td class="td2">'. $fetch[$gr[$i]] .'</td>'; }
        else { echo '<td class="td3">'. $fetch[$gr[$i]] .'</td>'; }
        if($x == 8) { echo '</tr>'; $x = 0; }
    }
    echo '<tr class="tr_sep"><td colspan="9"></td></tr>';
}
?>
<style type="text/css">
.tg { border-collapse: collapse; border-spacing: 0; width: 21cm; }
.tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  overflow:hidden;word-break:normal; text-align: center;}
.tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px;
  font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;}
.tg .td1 { text-align:center; vertical-align:top; }
.tg .td2 { border-bottom: 1px solid #ccc; text-align: center; vertical-align: top; }
.tg .td3 { border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; text-align: center; }
.tg tr:not(.tr_sep):has(+ tr.tr_sep) td { border-bottom: 1px solid #000; }
</style>
값이 없으면 출력할 값을 아래처럼 해주세요
$fetch[$gr[$i]] ='&nbsp';

 

값이 없을경우 높이가 지정 안되어 있어서 없는것처럼 보이는겁니다.

균이님 처럼 값이 없으면 공란으로 지정해도 되고

그냥 간단하게 하시려면 td 에 min-height:높이px; 지정해주세요.

그럼 빈값 있어도 최소 높이는 나옵니다.

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

회원로그인

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