sql 업데이트문 짜는데 도와 주세요. 정보
sql 업데이트문 짜는데 도와 주세요.본문
역시 저는 초보 ㅠ.ㅠ;
db도 약하고 웹표준도 약하구 ㅠ.ㅠ;
대충 설명하자면 폼에서 입력을 받아 업데이트 시키려구 하는데요..
menu.php
이런식으로 수정 가능한 폼을 출력하는데 while 로 DB만큼 자동으로 돌려서 현제 3개가 뜹니다.
이건 정상입니다.
sql업데이트 파일은 다음과 같이 짰습니다.
menu_ok.php
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}]" 형식으로 넘기시면 배열로 인식합니다.
작성하신 질문에 어떤 답변을 원하시는지 의도가 파악이 않됩니다.
답변을 받으시려는 의도를 어떤것인지 적어주시면 답변하는 입장에서 이해가 좀 더 쉽게 되리라 생각듭니다.
menu_ok 부분에 while으로 반복문으로 돌리고 for으로 반복을 돌려 $i 값으로 값을 지정하여
update를 하시는거 같은데. while문이 왜 삽입 되어있는지 이유를 알수 없습니다.
while을 써서 디비에 내용 갯수 만큼 업데이트 한다고 한다면. 해당 while에 선언된 $mobile값 중
디비에 삽입된 고유값이 같이 업데이트에 삽입 되야 하는게 아닌가 싶군요.
또 $_POST로 이용해서 $i값을 명칭에 붙이셨는데 해당 부분은 크게 상관없으나.
해당 태그상에서 name="menu_url[{$i}]" 형식으로 넘기시면 배열로 인식합니다.
작성하신 질문에 어떤 답변을 원하시는지 의도가 파악이 않됩니다.
답변을 받으시려는 의도를 어떤것인지 적어주시면 답변하는 입장에서 이해가 좀 더 쉽게 되리라 생각듭니다.
타이핑님 답변에 감사합니다.
아....업데이트 하는곳에..while는 실수로 넣은것입니다.
현제는 for문 밖에 없습니다.
보니까 .... 정말 while이 들어가 있네요.
나머지 답변들은 도움이 많이 됬습니다.
감사합니다.^^
아....업데이트 하는곳에..while는 실수로 넣은것입니다.
현제는 for문 밖에 없습니다.
보니까 .... 정말 while이 들어가 있네요.
나머지 답변들은 도움이 많이 됬습니다.
감사합니다.^^