채택완료

여분필드 주소 넣어 입력후 출력은 잘 되는데 수정에 들어가면 초기화 되어 보입니다.

2023-06-15 (목) 12:21:13 4,364

혼자서 해결해 보려고 이틀동안 검색해 보고 찾아봤는데 도저희 안되네요..^^;

선배님들의 고견을 듣고 싶습니다.

일단, 제목에서 처럼 입력하고 출력은 정상으로 되는데 수정만 누르면 없어져서 다시 입력을 해야 합니다.

뭐가 잘못 되었을까요??

우문에 선배님들의 현답을 부탁 드려 봅니다.

Copy
write.skin.php 에 하단 처럼 입력

 

    <script src="https://spi.maps.daum.net/imap/map_js_init/postcode.v2.js"></script> 
    <li class="list-group-item">
        <div class="form-group row mb-30">
          <div class="write_div">
           <label class="col-md-2 col-form-label" for="ex_jibeon">주소<strong class="sr-only">필수</strong></label>
            <div class="col-md-12">  
            <label for="ex_zip" class="sound_only">우편번호</label>
              <input type="text" name="ex_zip" value="<?php echo $ex_zip; ?>" id="ex_zip"  class="frm_input" size="9" maxlength="6">
               <button type="button" class="btn_frmline" onclick="win_zip('fwrite', 'ex_zip', 'ex_addr1', 'ex_addr2', 'ex_addr3', 'ex_jibeon');">주소 검색</button><br>
        <div style="margin-top:5px; margin-bottom:5px;"></div>
                 <input type="text" name="ex_addr1" value="<?php echo $ex_addr1; ?>" id="ex_addr1" class="frm_input frm_address" size="50" class="searchtext" name="s" placeholder="기본주소" value="" />
        <div style="margin-top:5px; margin-bottom:5px;"></div>
                 <input type="text" name="ex_addr2" value="<?php echo $ex_addr2; ?>" id="ex_addr2" class="frm_input frm_address" size="50" class="searchtext" name="s" placeholder="상세주소 입력" value="" />
        <div style="margin-top:5px; margin-bottom:5px;"></div>
                 <input type="text" name="ex_addr3" value="<?php echo $ex_addr3; ?>" id="ex_addr3" class="frm_input frm_address" size="30" class="searchtext" name="s" placeholder="(지역구분)" readonly="readonly">
                 <input type="hidden" name="ex_jibeon" value="<?php echo $ex_jibeon; ?>">
            </div>
          </div>  
        </div>
    </li>
        

 

view.skin.php 에다 하단처럼 추가

 

<i class="fa fa-check-square" aria-hidden="true"></i> 주소 : <?php echo $ex_zip.'&nbsp;'.$ex_addr1.'&nbsp;'.$ex_addr2.$ex_addr3; ?>

 

 

write.update.head.skin.php 에다 하단 처럼 추가

( 나리야 여서 write.update.skin.php 가 안보여 이곳에 넣었습니다. )

 

// 주소
$wr_1 = "$ex_zip|$ex_addr1|$ex_addr2|$ex_addr3|$ex_jibeon";
sql_query(" update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ");

답변 3개 / 댓글 5개

채택된 답변
+20 포인트

내용은 이거랑 비슷해 보이는데
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=22

wr_1 필드에 배열로 집어 넣었으니..

write.skin.php 파일에서 아래 내용 같은 부분들이 누락되어 있네요.

// 주소입력
$addr = explode('|',$write['wr_1']);
$ex_zip  = $addr[0];
$ex_addr1  = $addr[1];
$ex_addr2  = $addr[2];
$ex_addr3  = $addr[3];
$ex_jibeon  = $addr[4];

답변에 대한 댓글 1개

역시~!!! 선배님 이십니다....^^;
알려주신 방법으로 하니 적용이 되었습니다.
뭐라 감사의 말씀을 드려야 할지....

노숙인자활시설 관련 작업을 해드리고 있는데 주소 입력란 때문에 몇일을 고생했는데 한번에 해결해 주셨네요.
다시한번 진심으로 감사 드립니다.
2023-06-15 (목) 12:42:18

수정부분에서 $write 배열에 해당 데이터 있는지 채크해보세요.

value="<?php echo $write[ex_addr1]; ?>"

어차피 해당 데이터가 없으면 공란으로 나올거니

따로 쓰기/수정 분기는 안하셔도 됩니다.

답변에 대한 댓글 1개

진심 감사합니다.
참고해서 시도해 보겠습니다.

보통 이런 경우는 value 처리를 제대로 안 해서 그렇습니다.

아래 형식으로 수정해 보세요.

수정 전: <?php echo 값;?>

수정 후: <?php <?php echo (값) ? 값 : '';?>

답변에 대한 댓글 3개

아.. 신비선배님 안녕하십니까? ^^

말씀 하신 부분 한번 더 점검해 보겠습니다.

그리고 참고로

value="<?=$write[ex_addr1]?>

벨류값을 말씀 위처럼 수정을 해봤는데도 다시 로딩이 안되더군요.
<?php echo (값) ? 값 : '';?>
이렇게 수정하시면 되세요.
예를 들어,
value="<?=$write[ex_addr1]?> 경우, 아래처럼 수정하시면 됩니다.
value="<?php echo ($write['ex_addr1']) ? $write['ex_addr1'] : '';?>

ps. view.skin.php 파일도 수정해야...
늘 감사한 맘 갖고 있습니다.
알려주신 방법으로 진행해 보겠습니다.
사실 주먹구구식 으로 해보고 있지만, 참 재밋는것 같습니다...^^;

뷰스킨 부분도 솔직히 잘 모르겠지만 나름 연구해 보고 안되면 한번 더 여쭤보겠습니다~~ !!

답변을 작성하려면 로그인이 필요합니다.