
저는 이렇게 하고 싶어요 인쇄를 할때 임시적으로 제목을 선택하고 인쇄하고 싶은데....

선택하고 인쇄하면 선택이 풀려져서 인쇄창이 뜹니다. 제생각은 새로고침 때문에 풀리는 현상 때문인거 같은데 선택란이 임시적으로 고정되어서 인쇄를 할 수 있게끔 할수가 없나요?
답변 5개 / 댓글 5개
가능해요. 선택값을 지정할 수 잇습니다.
답변에 대한 댓글 1개
답변으로 올리신 파일은 인쇄.php인거죠?
$bungiValue = $_REQUEST["bungi"]; //선택.php에서 전달한 bungi 파라메터를 $bungiValue에 받는다.
==> ["bungi"] 쌍따음표 사이에 분기를 전달해주는 파라메터의 이름을 입력해주세요.
$("#분기선택").val( "<?php echo $bungiValue; ?>" ); // 인쇄.php의 분기 셀렉트 창을 자동으로 선택되게 한다.
==> 위에 올려준 소스상에 바나나, 사과, 파인애플을 넣어두신 곳이 분기가 표시하는 곳이라고 가정할때
==> 위 코딩은 아래와 같이 바뀌어야 합니다.
1. select 태그에 id값 추가
2. id값을 이용해 값을 지정
3. 위 코딩을 select 태그 아래로 위치 변경
4. 아래와 같이 수정 (id값을 #뒤에 써야 함에 주의)
<div class="h" style="font-size: 36px; text-align: center"><span class="qw">동료상담 대장(<strong style="text-align: center; font-size: 36px;"><strong style="text-align: center; font-size: 36px;">
<select name="bungi" id="bungi">
<option value="바나나">바나나</option>
<option value="사과">사과</option>
<option value="파인애플" selected="selected">파인애플</option>
</select>
</strong></strong>)</span></div>
<script>
$("#bungi").val( "<?php echo $bungiValue; ?>" );
</script>
답변에 대한 댓글 2개
점심시간이니 식사 하시면서 머리를 식힌 다음.
다시 한 번 천천히 살펴보시면 해결이 될거에요.
수고하세요.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 게시물 번호 1번부터 시작
$notice_count = 0;
if ($board['bo_notice']) $notice_count = $board_notice_count;
if ($notice_count)
$list_num = (($page - 1) * $list_page_rows - $notice_count) + 1;
else
$list_num = ($page - 1) * ($list_page_rows - $notice_count) + 1;
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
$colspan = 5;
if ($is_checkbox) $colspan++;
if ($is_good) $colspan++;
if ($is_nogood) $colspan++;
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
add_stylesheet('<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">', 0);
include('tagCol.php');
if($sfl==$tagCol){
$tag = $stx;
$stx ='';
}
?>
<?
if($list[$i][$tagCol]){
$tags = explode(',',$list[$i][$tagCol]);
for($k=0; $k<count($tags); $k++){
?>
<a <?if($tag == $tags[$k]){ echo'class="onTag"'; }?> href="board.php?bo_table=<?=$bo_table?>&sfl=<?=$tagCol?>&stx=<?=$tags[$k]?>"><?=$tags[$k]?>
</a>
<?
}
}
?>
<div id="bo_list" style="width:<?php echo $width; ?> font-size: 24px; font-weight: bold;">
<!-- 게시판 페이지 정보 및 버튼 시작 { -->
<div id="bo_btn_top">
<div id="bo_list_total">
<span>Total <?php echo number_format($total_count) ?>건</span>
<?php echo $page ?> 페이지
</div>
<?php if ($rss_href || $write_href) { ?>
<ul class="btn_bo_user">
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01 btn"><i class="fa fa-rss" aria-hidden="true"></i> RSS</a></li><?php } ?>
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn"><i class="fa fa-user-circle" aria-hidden="true"></i> 관리자</a></li><?php } ?>
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02 btn"><i class="fa fa-pencil" aria-hidden="true"></i> 글쓰기</a></li><?php } ?>
</ul>
<?php } ?>
</div>
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
<!-- 게시판 카테고리 시작 { -->
<?php if ($is_category) { ?>
<nav id="bo_cate">
<h2><?php echo $board['bo_subject'] ?> 카테고리</h2>
<ul id="bo_cate_ul">
<?php echo $category_option ?>
</ul>
</nav>
<?php } ?>
<!-- } 게시판 카테고리 끝 -->
<!-- } 게시판 카테고리 전체 삭제 시작 -->
<script>
// 인쇄.php
<?php
$bungiValue = $_REQUEST["bungi"]; //선택.php에서 전달한 bungi 파라메터를 $bungiValue에 받는다.
?>
<script>
$("#분기선택").val( "<?php echo $bungiValue; ?>" ); // 인쇄.php의 분기 셀렉트 창을 자동으로 선택되게 한다.
$('#bo_cate_on').css('display','none');
</script>
<!-- } 게시판 카테고리 전체 삭제 끝 -->
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
<!-- 인쇄 버튼 -->
<!-- 인쇄 버튼 끝 -->
<th align="center"> </th>
<!-- 인쇄 영역 부분 -->
<div id="box">
<div class="tbl_head01 tbl_wrap">
<table border="2" cellpadding="0" cellspacing="0">
<caption>
<?php echo $board['bo_subject'] ?> 목록
</caption>
</table>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr style="
border-top: black;
"></tr>
</table>
<table width="796" border="0" cellspacing="0" cellpadding="0">
<tr></tr>
</table>
<style type="text/css">
.h {
font-weight: bold;
color: #000;
font-size: 36px;
}
</style>
<!-- 제목 시작 -->
<div class="h" style="font-size: 36px; text-align: center"><span class="qw">동료상담 대장(<strong style="text-align: center; font-size: 36px;"><strong style="text-align: center; font-size: 36px;">
<select name="bungi">
<option value="바나나">바나나</option>
<option value="사과">사과</option>
<option value="파인애플" selected="selected">파인애플</option>
</select>
</strong></strong>)</span></div>
<!-- 제목 끝 -->
<table border="1" cellpadding="0" cellspacing="0">
<thead style="
border-top: black;
">
<tr></tr>
<th align="center" scope="col">No</th>
<th width="56" align="center" scope="col">월/일</th>
<th width="51" align="center" scope="col">시간(분)</th>
<th width="68" align="center" scope="col">이용자</th>
<th width="42" align="center" scope="col">회차</th>
<th width="143" align="center" scope="col">장애유형 및 장애정도</th>
<th width="65" align="center" scope="col">상담방법</th>
<th width="64" align="center" scope="col">상담유형</th>
<th width="159" align="center" scope="col">상담목적</th>
<th width="20" align="center" scope="col">지원내용</th>
<th width="14" align="center" scope="col">진행형태</th>
<th width="100" align="center" scope="col">이용자 코드</th>
</tr>
</thead>
<tbody>
<?php
for ($i=0; $i<count($list); $i++) {
//여분필드 이름 별표 표시 시작
if (!$is_admin && $list[$i]['wr_4']) {
$list[$i]['wr_4'] = preg_replace('/-(\d+)-/e',"'-'.str_repeat('*',strlen('\\1')).'-'",$list[$i]['wr_4']); }
//여분필드 이름 별표 표시 끝
$list[$i]['num'] = $list_num + $i;
?>
<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
<?php if ($is_checkbox) { ?>
<?php } ?>
<td width="30" align="center" class="td_num2"><?php
if ($list[$i]['is_notice']) // 공지사항
echo '<strong class="notice_icon"><i class="fa fa-bullhorn" aria-hidden="true"></i><span class="sound_only">공지</span></strong>';
else if ($wr_id == $list[$i]['wr_id'])
echo "<span class=\"bo_current\">열람중</span>";
else
echo $list[$i]['num'];
?></td>
<td align="center" class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><span class="tagInfo">
<?
if($list[$i][$tagCol]){
$tags = explode(',',$list[$i][$tagCol]);
for($k=0; $k<count($tags); $k++){
?>
<a <?if($tag == $tags[$k]){ echo'class="onTag"'; }?> href="../board.php?bo_table=<?=$bo_table?>&sfl=<?=$tagCol?>&stx=<?=$tags[$k]?>">
<?=$tags[$k]?>
</a>
<?
}
}
?>
<span class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><?php echo $list[$i]['wr_19'] ?></span>일</span></td>
<td align="center" class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><?php echo $list[$i]['wr_5'] ?></td>
<td align="center" class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><span class="tagInfo">
<?
if($list[$i][$tagCol]){
$tags = explode(',',$list[$i][$tagCol]);
for($k=0; $k<count($tags); $k++){
?>
<a <?if($tag == $tags[$k]){ echo'class="onTag"'; }?> href="board.php?bo_table=<?=$bo_table?>&sfl=<?=$tagCol?>&stx=<?=$tags[$k]?>"><?=$tags[$k]?>
</a>
<?
}
}
?>
</span>
<td align="center" class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><?php echo $list[$i]['wr_3'] ?></td>
<td align="center" class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><?php echo $list[$i]['wr_9'] ?></td>
<td align="center" class="td_name sv_use" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><span class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><?php echo $list[$i]['wr_20'] ?></span><?php echo $list[$i]['wr_15']; ?></td>
<td align="center" class="td_name sv_use" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><span class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><?php echo $list[$i]['wr_21'] ?></span><?php echo $list[$i]['wr_16']; ?></td>
<td align="center" class="td_subject" style="padding-left:<?php echo $list[$i]['reply'] ? (strlen($list[$i]['wr_reply'])*10) : '0'; ?>px"><div class="bo_tit"> <a href="<?php echo $list[$i]['href'] ?>"> <?php echo $list[$i]['icon_reply'] ?>
<?php
if (isset($list[$i]['icon_secret'])) echo rtrim($list[$i]['icon_secret']);
?>
<?php echo $list[$i]['subject'] ?></a>
<?php if ($list[$i]['comment_cnt']) { ?>
<span class="sound_only">댓글</span><span class="cnt_cmt">+ <?php echo $list[$i]['wr_comment']; ?></span><span class="sound_only">개</span>
<?php } ?>
</div></td>
<td align="center" class="td_name sv_use"><?php echo $list[$i]['wr_22']; ?><?php echo $list[$i]['wr_17']; ?></td>
<td align="center" class="td_name sv_use"><?php echo $list[$i]['wr_23']; ?><?php echo $list[$i]['wr_18']; ?></td>
<td align="center" class="td_name sv_use"><span class="tagInfo">
<?
if($list[$i][$tagCol2]){
$tags = explode(',',$list[$i][$tagCol2]);
for($k=0; $k<count($tags); $k++){
?>
<a <?if($tag == $tags[$k]){ echo'class="onTag"'; }?> href="../board.php?bo_table=<?=$bo_table?>&sfl=<?=$tagCol2?>&stx=<?=$tags[$k]?>">
<?=$tags[$k]?>
</a>
<?
}
}
?>
</span></td>
<?php if ($is_good) { ?>
<?php } ?>
<?php if ($is_nogood) { ?>
<?php } ?>
</tr>
<?php } ?>
<?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
</tbody>
</table>
<br />
<p><?php echo $list[$i]['wr_1'] ?></p>
</div>
</div>
<!-- 인쇄하는 영역 끝 -->
<!-- 인쇄 자바스크립트 -->
<script type="text/javascript">
var initBody;
function beforePrint() {
boxes = document.body.innerHTML;
document.body.innerHTML = box.innerHTML;
}
function afterPrint() {
document.body.innerHTML = boxes;
}
function printArea() {
window.print();
}
window.onbeforeprint = beforePrint;
window.onafterprint = afterPrint;
</script>
<!-- 인쇄 자바스크립트 끝 -->
<?php if ($list_href || $is_checkbox || $write_href) { ?>
<div class="bo_fx">
<?php if ($list_href || $write_href) { ?>
<ul class="btn_bo_user">
<?php if ($is_checkbox) { ?>
<li>
<button type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-files-o" aria-hidden="true"></i> 선택복사</button>
</li>
<li>
<button type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value" class="btn btn_admin"><i class="fa fa-arrows" aria-hidden="true"></i> 선택이동</button>
</li>
<?php } ?>
<?php if ($list_href) { ?>
<li><a href="<?php echo $list_href ?>" class="btn_b01 btn"><i class="fa fa-list" aria-hidden="true"></i> 목록</a></li>
<?php } ?>
<?php if ($write_href) { ?>
<li><a href="<?php echo $write_href ?>" class="btn_b02 btn"><i class="fa fa-pencil" aria-hidden="true"></i> 글쓰기</a><span class="tbl_head01 tbl_wrap"><a href="#" onclick="printArea()">인쇄하기</a></span></li>
<?php } ?>
</ul>
<?php } ?>
</div>
<?php } ?>
</form>
<!-- 게시판 검색 시작 { -->
<fieldset id="bo_sch">
<legend>게시물 검색</legend>
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<option value="wr_subject"<?php echo get_selected($sfl, 'wr_subject', true); ?>>제목</option>
<option value="wr_content"<?php echo get_selected($sfl, 'wr_content'); ?>>내용</option>
<option value="wr_subject||wr_content"<?php echo get_selected($sfl, 'wr_subject||wr_content'); ?>>제목+내용</option>
<option value="mb_id,1"<?php echo get_selected($sfl, 'mb_id,1'); ?>>회원아이디</option>
<option value="mb_id,0"<?php echo get_selected($sfl, 'mb_id,0'); ?>>회원아이디(코)</option>
<option value="wr_name,1"<?php echo get_selected($sfl, 'wr_name,1'); ?>>글쓴이</option>
<option value="wr_name,0"<?php echo get_selected($sfl, 'wr_name,0'); ?>>글쓴이(코)</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="sch_input" size="25" maxlength="20" placeholder="검색어를 입력해주세요">
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
</form>
</fieldset>
<!-- } 게시판 검색 끝 -->
</div>
<?php if($is_checkbox) { ?>
<noscript>
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
</noscript>
<?php } ?>
<!-- 페이지 -->
<?php echo $write_pages; ?>
<?php if ($is_checkbox) { ?>
<script>
function all_checked(sw) {
var f = document.fboardlist;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]")
f.elements[i].checked = sw;
}
}
function fboardlist_submit(f) {
var chk_count = 0;
for (var i=0; i<f.length; i++) {
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
chk_count++;
}
if (!chk_count) {
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
return false;
}
if(document.pressed == "선택복사") {
select_copy("copy");
return;
}
if(document.pressed == "선택이동") {
select_copy("move");
return;
}
if(document.pressed == "선택삭제") {
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
return false;
f.removeAttribute("target");
f.action = "./board_list_update.php";
}
return true;
}
// 선택한 게시물 복사 및 이동
function select_copy(sw) {
var f = document.fboardlist;
if (sw == "copy")
str = "복사";
else
str = "이동";
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
f.sw.value = sw;
f.target = "move";
f.action = "./move.php";
f.submit();
}
</script>
<?php } ?>
<!-- } 게시판 목록 끝 -->
되지 않습니다 ㅠㅠ 죄송해요 아무리 찾아봐도 해결이 되지않습니다 ㅠㅠ
편의상
분기를 선택하는 화면을 "선택.php"이라 하고
인쇄 화면에 뜬 화면을 "인쇄.php"라고 하겠습니다.
선택.php에서 인쇄.php로 어떤 방식으로 전달하느냐에 따라 차이가 있을텐데요.
관리자 화면이고, 이쁘지 않아도 되는, 기능적으로 충실한 화면이면 되기때문에
아마도 iframe에 인쇄.php가 숨겨져있고,
그곳에 인쇄 화면처럼 HTML을 구성한 후 print()함수를 호출하는 방식일거라고 추측이 됩니다.
틀림없이 선택.php에서 선택한 Select값(분기값)은 전달이 되었을거구요.
전달되었으니 분기에 맞는 리스트가 나타나고 있는겁니다.
이걸 전제로 설명을 드리자면,
// 인쇄.php
<?php
$bungiValue = $_REQUEST["bungi"]; //선택.php에서 전달한 bungi 파라메터를 $bungiValue에 받는다.
?>
<script>
$("#분기선택").val( "<?php echo $bungiValue; ?>" ); // 인쇄.php의 분기 셀렉트 창을 자동으로 선택되게 한다.
</script>
이와 같은 방식이 될 것입니다.
그런데요...
일반적으로 인쇄화면에서는 Select를 띄우지 않고,
전달받은 값이 있기때문에 바로 "[1분기] 2020년 1월" 이라고 텍스트를 출력하는게 일반적이죠.
그리고 다음 질문 주실때는,
일부 소스라도 올려주셔야 더욱 좋은 답변을 받으실 수 있답니다.
답변에 대한 댓글 1개
아래 글 참고해 보세요.
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.