안녕하세요
저도 tagit
http://aehlke.github.io/tag-it/
을사용해서,
태그를 만드는중인데요,
조금 어렵네요 .ㅠㅠ..
<input name="tag" value="하나,둘,셋" >
input value "하나,둘,셋" 으로 값을 받고
이값을
tagbox 테이블에 각각 넣어주려고하는데요,
1. 하나
2. 두울
3. 셋
update문을 아래와같이..
$tag = explode(",",$_POST["tag"]); for($i=0; $i<count($tag); $i++){ $sql = " update from tagbox set tag_no = '$tag_no', tag='".$tag[$i]."'"; sql_query($sql);}
그런데 안되네요 ...T_T 왜 그럴까요 ?...
-------------그리고 추가로 한가지 더 질문을 드리자면..
1. 하나
2. 둘
3. 셋
이와같이 db가 존재하는데..
글쓰기시, 또
하나,둘 태그가 입력됬을시,
이 두 필드는 생성을 또하면안되는거잖아요 ?중복된 값이니까,,
그럴때는 어떻게 해야하나요 ?
제가 지금 작성하는 구조는
게시판 글 테이블 따로,
태그 테이블 따로 하려고하거든요 ..
이렇게 되면 좀 번거롭나요 ?..흠
답변 4개 / 댓글 12개
테이블 구조가 어떻게 되어 있는지 모르겠지만 제일 편하게 하시려면
table : tags
column : idx, bo_table, wr_id, tag
<input type="text" name="tags" value="" />
가, 나, 다, 라, 마
이렇게 입력하고 submit
$res = sql_fetch("SELECT COUNT(*) as cnt FROM tags WHERE bo_table = '".$bo_table."' AND wr_id = '".$wr_id."'"); // 여기서 해당 게시판, 글번호로 조회 후 등록된 게 있으면 삭제 if($res['cnt']) { sql_query("DELETE FROM tags WHERE bo_table = '".$bo_table."' AND wr_id = '".$wr_id."'");} $tag = explode(", ", $_POST['tags']);foreach($tag as $value) { sql_query("INSERT INTO tags SET bo_table = '".$bo_table."', wr_id = '".$wr_id."', tag = '".$value."'"); }
참고만 하시라고 남깁니다.
답변에 대한 댓글 8개
그런데 문제가 생겻어요.....................
1.하나
2.둘
3.셋
이렇게 db에 올라가야되는데
1. 하나,둘,셋 으로 입력이 되네요...흠...
왜그럴까요 ..
update 구문에 where 절을 추가해보세요.
지금 형태로는 테이블 전체를 다 업데이트 하게 되어있어서
root 로 console로 접속했을때만 실행될것 같네요.
php로 접속해서는 권한에 따라 안될지도 모르겠네요.
아마 옛날 access를 db로 사용했을때... update from tablename 을 썼던걸로 기억 됩니다.
mssql에서는 from이 들어가지 않습니다.
mysql도 마찬가지 입니다.
update ABCDE set column1='xyz' where no='3'
'ABCDE' 테이블의'column1' 컬럼 값을 'xyz' 으로 수정한다.
수정대상은 'no' 컬럼값이 '3' 인 레코드 전부이다.
업데이트 구문 사용법 인데요...
from을 빼셔야 할듯 합니다.
그리고 혹시나 에러가날때는 mysql_error를 찍어보세요.
답변을 작성하려면 로그인이 필요합니다.
tag input 배열값? 은 넘어가지가않네요... 빈공백으로만 들어가잇어요 ㅠㅠ
bo_table wr_id 값은 들어가잇는데...
왜그런거죠...흠.....................