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

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

유우니얌 11년 전 조회 6,525

안녕하세요

 

저도 tagit  

http://aehlke.github.io/tag-it/">http://aehlke.github.io/tag-it/ 

을사용해서,

 

태그를 만드는중인데요,

조금 어렵네요 .ㅠㅠ..

 <input name="tag" value="하나,둘,셋" > 

input value   "하나,둘,셋" 으로 값을 받고

 

이값을

tagbox 테이블에 각각​ 넣어주려고하는데요, 

1. 하나

2. 두울

3. 셋

 

update문을 아래와같이..

 

</p><p>$tag = explode(",",$_POST["tag"]); </p><p> </p><p>for($i=0; $i<count($tag); $i++){</p><p><span class="Apple-tab-span" style="white-space:pre">	</span> $sql = " update from tagbox set  </p><p> <span class="Apple-tab-span" style="white-space:pre">				</span>   tag_no = '$tag_no',</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>               tag='".$tag[$i]."'";<span class="Apple-tab-span" style="white-space:pre">	</span> </p><p>    sql_query($sql);</p><p>}  </p><p> 

그런데 안되네요 ...T_T 왜 그럴까요 ?...

 

-------------그리고 추가로 한가지 더 질문을 드리자면..

 

1. 하나

2. 둘

3. 셋

 

이와같이 db가 존재하는데..

 

글쓰기시, 또 

하나,둘 태그가 입력됬을시,

이 두 필드는 생성을 또하면안되는거잖아요 ?중복된 값이니까,,

그럴때는 어떻게 해야하나요 ?

 

제가 지금 작성하는 구조는

 

게시판 글 테이블 따로,

 

태그 테이블 따로 하려고하거든요 ..

 

이렇게 되면 좀 번거롭나요 ?..흠

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

답변 4개

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

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

table : tags

column : idx, bo_table, wr_id, tag 

 

 

<input type="text" name="tags" value="" />

가, 나, 다, 라, 마

이렇게 입력하고 submit

 

</p><p>$res = sql_fetch("SELECT COUNT(*) as cnt FROM tags WHERE bo_table = '".$bo_table."' AND wr_id = '".$wr_id."'");</p><p> </p><p>// 여기서 해당 게시판, 글번호로 조회 후 등록된 게 있으면 삭제 </p><p style="margin-left: 0px;">if($res['cnt']) {</p><p style="margin-left: 0px;">   sql_query("DELETE FROM tags WHERE bo_table = '".$bo_table."' AND wr_id = '".$wr_id."'");</p><p style="margin-left: 0px;">} </p><p> </p><p>$tag = explode(", ", $_POST['tags']);</p><p style="margin-left: 0px;">foreach($tag as $value) {</p><p style="margin-left: 0px;">   sql_query("INSERT INTO tags SET bo_table = '".$bo_table."', wr_id = '".$wr_id."', tag = '".$value."'"); </p><p>}</p><p>

 

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

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

답변에 대한 댓글 8개

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

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

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

왜그런거죠...흠.....................
왕계란
11년 전
실제 입력하는 페이지에서
print_r2($_POST);
exit;
이거 입력해 보세요.
저 값들이 정확히 넘어오는지.
유우니얌
11년 전
헐 안오네요!!!!!!!!!!!!!!왜그러지......
유우니얌
11년 전
오오오오 계란님 됫어요!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 감사합니다!!!!!!!!!!!!!!!!!!!!!!!!!!


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

1.하나
2.둘
3.셋

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

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

왜그럴까요 ..
왕계란
11년 전
$tag = explode(", ", $_POST['tags']);
이거 제대로 실행되는지 확인해 보셔야 할 거 같아요.
print_r2($tag);
exit;
유우니얌
11년 전
어어...하니까........그냥 흰 백지 화면만 나오네요................흠....
유우니얌
11년 전
아 input name="tag[]" 로 되잇엇네요..
[] 이거 뺴꼬하니까

Array
(
[0] => 카페24,쇼핑몰,그누보드
)

이렇게 나오네요 ?...흠...잘못된거죠 ?...
왕계란
11년 전
php에서는 [] 이게 붙기만 하면 배열로 인식합니다.
어차피 tags라고 하는 input 하나에 태그들을 여러 개 콤마로 구분해서 넣지 않나요?
따로 넣는 거라면 다른 방법으로 하셔야 해요.

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

11년 전

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

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

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

 

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

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

답변에 대한 댓글 1개

유우니얌
11년 전
음..........where 절...뭘 넣으면 될까요..........

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

11년 전

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

 

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

mysql도 마찬가지 입니다. 

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

답변에 대한 댓글 1개

유우니얌
11년 전
네 안녕하세요~! 답변감사합니다 . ㅠㅠ 그래도 안되네요 ..ㅠㅠㅠ어디가 문제인건지..

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

11년 전

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

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

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

 

 

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


from을 빼셔야 할듯 합니다. 


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

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

답변에 대한 댓글 2개

유우니얌
11년 전
안녕하세요 답변감사합니다! ㅠㅠ 그런데..그래도 .,...tag가 올라가질않네요....왜그럴까요...
유우니얌
11년 전
값이...다 빈공백으로 들어가네요..흠...들어가긴들어가는것같은데...

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

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

로그인