sql 업데이트문 짜는데 도와 주세요. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

sql 업데이트문 짜는데 도와 주세요. 정보

sql 업데이트문 짜는데 도와 주세요.

본문

역시 저는 초보 ㅠ.ㅠ;
db도 약하고 웹표준도 약하구 ㅠ.ㅠ;

대충 설명하자면 폼에서 입력을 받아 업데이트 시키려구 하는데요..


menu.php

  <?
         while($mobile = mysql_fetch_array($result)){
echo <<<HEREDOC
  <tr>
    <td height="50px"><input type="checkbox" name="menu_show{$i}" onclick="check(this)" id="TextBox" title="모바일 홈페이지의 사용 유,무를 결정합니다." {if ($mobile[menu_show]=="on") echo "checked";}></td>
    <td height="50px">메뉴 이름</td>
    <td><input type=text value="{$mobile[menu_id]}" name="menu_id{$i}" class=ed required size=30 id="TextBox" title="메뉴의 이름을 지정합니다."></td>
    <td height="50px">메뉴 URL</td>
    <td><input type=text value="{$mobile[menu_url]}" name="menu_url{$i}" class=ed required size=60 id="TextBox" title="연결될 메뉴의 링크를 입력합니다."></td>
  </tr>


  <tr>
    <td colspan=5 style="background-color:#cccccc" height="1" align="center"></td>
  </tr>
HEREDOC;
}?>


이런식으로 수정 가능한 폼을 출력하는데 while 로 DB만큼 자동으로 돌려서 현제 3개가 뜹니다.
이건 정상입니다.
sql업데이트 파일은 다음과 같이 짰습니다.

menu_ok.php

$query = "select * from $g4[mobile_menu]"; 
$result = mysql_query($query);
$menu_list = mysql_affected_rows();


  while($mobile = mysql_fetch_row($result)){
    for ($i=0; $i<$menu_list; $i++){
  $query = "update g4_mobile_menu set
            menu_show='{$_POST[menu_show.$i]}',
            menu_id='{$_POST[menu_id.$i]}',
            menu_url='{$_POST[menu_url.$i]}'";
  sql_fetch($query);

  echo $_POST[menu_id.$i]."변경완료";
}
}

댓글 전체

내용이 부족하지만 현재 코드상 문제가 있어보입니다.

menu_ok 부분에 while으로 반복문으로 돌리고 for으로 반복을 돌려 $i 값으로 값을 지정하여

update를 하시는거 같은데. while문이 왜 삽입 되어있는지 이유를 알수 없습니다.

while을 써서 디비에 내용 갯수 만큼 업데이트 한다고 한다면. 해당 while에 선언된 $mobile값 중

디비에 삽입된 고유값이 같이 업데이트에 삽입 되야 하는게 아닌가 싶군요.

또 $_POST로 이용해서 $i값을 명칭에 붙이셨는데 해당 부분은 크게 상관없으나.

해당 태그상에서 name="menu_url[{$i}]" 형식으로 넘기시면 배열로 인식합니다.

작성하신 질문에 어떤 답변을 원하시는지 의도가 파악이 않됩니다.

답변을 받으시려는 의도를 어떤것인지 적어주시면 답변하는 입장에서 이해가 좀 더 쉽게 되리라 생각듭니다.
타이핑님 답변에 감사합니다.

아....업데이트 하는곳에..while는 실수로 넣은것입니다.
현제는 for문 밖에 없습니다.
보니까 .... 정말 while이 들어가 있네요.

나머지 답변들은 도움이 많이 됬습니다.
감사합니다.^^
전체 61 |RSS
그누4 질문답변 내용 검색

회원로그인

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