그누 질문답변처럼 태그를 만들려고하는데요!

그누 질문답변처럼 태그를 만들려고하는데요!

QA

그누 질문답변처럼 태그를 만들려고하는데요!

본문

안녕하세요

 

저도 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

테이블 구조가 어떻게 되어 있는지 모르겠지만 제일 편하게 하시려면

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."'"); 
}

 

참고만 하시라고 남깁니다. 

안녕하세요!! 친절한답변감사드립니다! 말씀하신데로 해보았는데요! 잘 업로드 되는데요..문제는 그래도...

tag input 배열값? 은 넘어가지가않네요... 빈공백으로만 들어가잇어요 ㅠㅠ

bo_table wr_id 값은 들어가잇는데...

왜그런거죠...흠.....................

오오오오 계란님 됫어요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 감사합니다!!!!!!!!!!!!!!!!!!!!!!!!!!


그런데 문제가 생겻어요.....................

1.하나
2.둘
3.셋

이렇게 db에 올라가야되는데

1. 하나,둘,셋 으로 입력이 되네요...흠...

왜그럴까요 ..

php에서는 [] 이게 붙기만 하면 배열로 인식합니다.
어차피 tags라고 하는 input 하나에 태그들을 여러 개 콤마로 구분해서 넣지 않나요?
따로 넣는 거라면 다른 방법으로 하셔야 해요.

update ABCDE set column1='xyz' where no='3'

'ABCDE' 테이블의
'column1' 컬럼 값을 'xyz' 으로 수정한다.

수정대상은 'no' 컬럼값이 '3' 인 레코드 전부이다. 

 

 

업데이트 구문 사용법 인데요... 


from을 빼셔야 할듯 합니다. 


그리고 혹시나 에러가날때는 mysql_error를 찍어보세요. 

아마 옛날 access를 db로 사용했을때... update from tablename 을 썼던걸로 기억 됩니다. 

 

mssql에서는 from이 들어가지 않습니다. 

mysql도 마찬가지 입니다. 

update 구문에 where 절을 추가해보세요. 

지금 형태로는 테이블 전체를 다 업데이트 하게 되어있어서 

root 로 console로 접속했을때만 실행될것 같네요. 

 

php로 접속해서는 권한에 따라 안될지도 모르겠네요. 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,642 | RSS
QA 내용 검색

회원로그인

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