테스트 사이트 - 개발 중인 베타 버전입니다

upadate 질문있씁니당~~ 채택완료

서동준 8년 전 조회 2,116

$sql = " update g5_sok set wr_8 = '$wr_8'  ";  이렇게 구문을 입력하면 테이블내에 있는 모든 wr_8필드가 wr_8에 입력된 데이터로 변경이되는데  테이블중 원하는 부분만 업데이트 되도록 하려면 어떻게 해야할까요? ㅠ

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

답변 4개

채택된 답변
+20 포인트
8년 전

$sql = " update g5_sok set wr_8 = '$wr_8'   where wr_id = '$wr_id' ";

sql_query($sql);

?>

 

이렇게 해주세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 7개

서동준
8년 전
그렇게하면 값이 변경이안되요 ㅠㅠ..
왜그런걸까요...
하찌
8년 전
echo $wr_8;
echo $wr_id;

테이블명이 g5_sok이 맞는지 확인해보시고
각 변수의 값이 나오는지 찍어보세요
서동준
8년 전
테이블명도 맞고 변수값도 나오는데 왜이럴까요.. ;;; 미치겠네요 where의 조건만 달면 값변경이 안되니;;
하찌
8년 전
마지막으로 셀렉트 박스의 네임값과 value 값 확인해보세요
소스가 없으니.. 정확한 판단이 안되네요
서동준
8년 전
?php
$sub_menu = '400200';
include_once('./_common.php');

auth_check($auth[$sub_menu], "r");

$g5['title'] = '엔드볼DB관리';
if ($fm_subject) $g5['title'] .= ' : '.$fm_subject;
include_once (G5_ADMIN_PATH.'/admin.head.php');
$sql_common = " from g5_endball";
$sql_search = " where (1) ";//페이징처리를위해 반드시 넣어야해요

$sql = " select count(*) as cnt {$sql_common} {$sql_search} ";//페이징처리를위해 반드시 넣어야해요
$row = sql_fetch($sql);
$total_count = $row['cnt'];

$rows = $config['cf_page_rows'];//페이징처리를위해 반드시 넣어야해요
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$sql = "select * $sql_common order by wr_id desc limit {$from_record}, {$rows}";//페이징처리를위해 반드시 넣어야해요 desc는 내림차순 asc는 오름차순입니다.
$result = sql_query($sql);

$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>';
?>

<div class="local_ov01 local_ov">
<?php echo $listall ?>
등록된 상담문의<?php echo $total_count; ?>건
</div>
<div class="tbl_head01 tbl_wrap">
<table>
<caption><?php echo $g5['title']; ?> 목록</caption>
<thead>
<tr>
<th scope="col">번호</th>
<th scope="col">이름</th>
<th scope="col">거주지</th>
<th scope="col">목표체중</th>
<th scope="col">연락처</th>
<th scope="col">이메일</th>
<th scope="col">신청사연</th>
<th scope="col">메모</th>
<th scope="col">신청날짜</th>
<th scope="col">관리자확인상태</th>
<th scope="col" colspan="3">수정(상태변경or삭제 버튼)</th>
</tr>
</thead>
<tbody>
<?php
for ($i=$total_count; $row=sql_fetch_array($result); $i--)
{



$s_del = icon("삭제", "");

$num = $i-($rows*($page-1));//정상적인 페이징처리를 위해서 이 형식대로 넣어야합니다.

$bg = 'bg'.($i%2);
?>

<tr class="<?php echo $bg; ?>"><!--이부분이 기록되는 DB정보 레이아웃부분-->
<td style="text-align:center;"><?php echo $num; ?></td>
<td align='center' ><?=$row[wr_name]?></td>
<td align='center' ><?=$row[wr_2]?></td>
<td align='center'><?=$row[wr_3]?></td>
<td align='center' ><?=$row[wr_4]?></td>
<td align='center' ><?=$row[wr_email]?></td>
<td align='center' ><?=$row[wr_6]?></td>
<td align='center' >
<form id="testform" method="post" action="./endball_memo.php" onsubmit='return chk_form(this.value)';>
<textarea name="wr_9" id="wr_9" style="resize:none; width:90%; float:left; box-sizing:border-box;" ><?=$row[wr_9]?></textarea>
<input type="submit" value="입력" style="width:10%; float:left; box-sizing:border-box;">
</form>
</td>
<td align='center' ><?=$row[wr_datetime]?></td>
<td align='center' >
<?=$row[wr_8]?>
</td>
<td align='center' >
<form id="testform" method="post" action="./endball_change.php" onsubmit='return chk_form(this.value)';>
<select name="wr_8" id="wr_8" >
<option value="">타입선택</option>
<option value="상담대기">상담대기</option>
<option value="상담완료">상담완료</option>
</select>
<input type="submit" value="상태수정">
</form>
</td>
<td align='center' >
<a href="./sok_update.php?w=d&wr_id=<?php echo $row['wr_id']; ?>" onclick="return delete_confirm(this);" ><span class="sound_only"><?php echo stripslashes($row['wr_name']); ?> </span>삭제</a>
</td>
</tr>

<?php
}

if ($i < 0) {
echo '<tr><td colspan="8" class="empty_table">자료가 없습니다.</td></tr>';
}
?>
</tbody>
</table>

</div>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&amp;page='); ?><!--페이징 버튼들을 나타나게해주는 그누보드용 함수입니다.-->

<?php
include_once (G5_ADMIN_PATH.'/admin.tail.php');
?>

이렇게되어있는데 여기서 상태수정버튼을 누르면 셀렉된 값이 enball_change.php로 넘어가서
DB에 저장되고 다시 이페이지에 노출되는형식입니다... ㅠ
endball_change.php는
<?php
$sub_menu = '400400';
include_once('./_common.php');
auth_check($auth[$sub_menu], "r");
$sql = "update g5_endball set wr_8='$wr_8' ";
sql_query($sql);
alert("변경 되었습니다");
?>
이렇게되어있구요 ㅠㅠ
하찌
8년 전
$sql = "update g5_endball set wr_8='{$wr_8}' where wr_id='{$row['wr_id']}' ";
이렇게 하시면 될 것 같네요 ^^
서동준
8년 전
말씀주신대로 적용해도 변화가 없네요 ㅠㅠ...

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

그누위즈

db관리툴로 접속해서

해당 SQL문을 그대로 실행해보세요 그럼 에러가 뭔지 나타납니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

서동준
8년 전
mayadmin접속해서 어느부분에 해당쿼리를 실행해볼수있는건가욥... ㅠㅠ .
서동준
8년 전
mayadmin접속해서 어느부분에 해당쿼리를 실행해볼수있는건가욥... ㅠㅠ .

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

서동준
8년 전

음 제가 궁금한건 제가 DB에 저장된것들을 관리자페이지쪽에 페이지를 하나만들어서  출력되도록 해둔것인데 거기서 관리자가 상담문의들어온 상태를 ㅎ기록하기위해서  셀렉트박스로 상담완료, 상담대기 부분을 만들어서 각 부분 선택하고 수정버튼을 누르면 값이 변경되도록 구현을 하였는데 이게 전체 상담문의 데이터가 다바뀌어버리니 문제입니다 ㅠㅠ

로그인 후 평가할 수 있습니다

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

$sql = " update g5_sok set wr_8 = '$wr_8'  from 테이블명 where 조건 ";

 

이렇게 선택적으로 가능 합니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

서동준
8년 전
$sql = " update g5_sok set wr_8 = '$wr_8' from g5_sok where wr_id = '$wr_id' ";
요렇게 바꾸었는데 이렇게하면 아예 값이 넘어가지를 않네요 ㅠ
서동준
8년 전
조건부분에를 어떻게 해야할지..

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

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

로그인