모든 보드의 게시물 제목에서
본문
사이트의 모든 게시판의 제목과 본문에서
[교촌*킨이 너무 맛있어요] 라는 제목이 있으면
교촌*킨 부분만 교촌치킨 으로 변경하고 싶습니다.
쿼리로 게시판 하나씩하나씩(게시판이 100개 가량입니다.)이 아니라
전체게시판에서 찾아 한번에 변경하려면 어떻게 할 수 있을까요?
답변 3
사이트내 모든게시물...
수행시 좀 오래걸릴듯 하네요
$sql = "select * form g5_board";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
$sql2 = "select * from g5_write_".$row['bo_table']." where wr_subject like '%교촌*킨이 너무 맛있어요%' or wr_content like '%교촌*킨이 너무 맛있어요%';
$result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2)) {
sql_query("update g5_write_".$row['bo_table']." set wr_subject = replace(wr_subject, '교촌*킨,'교촌치킨'), wr_content = replace(wr_content, '교촌*킨','교촌치킨') where wr_id = '{$row2['wr_id']}' ");
}
}
UPDATE g5_board SET bo_subject = REPLACE(bo_subject , '교촌*킨', '교촌치킨');
게시판의 제목과 본문이라는 것이, 단순히 게시판의 제목 즉 g5_board 영역을 말하는 것인지, 아니면 게시물 테이블 g5_write_ 를 말하는 것인지 명확하지 않습니다.
전자일 경우 eyekiss 회원님의 쿼리를 실행하시면 되시고, 후자일 경우 아래 쿼리를 토대로 php 를 만들어 돌리면 될 것 같습니다.
1. 게시판 DB 명칭 등: g5_board
2. 게시판 테이블: g5_write_테이블명
- 제목
UPDATE g5_write_테이블명 SET wr_subject = REPLACE(wr_subject, '교촌*킨', '교촌치킨');
- 본문
[code]UPDATE g5_write_테이블명 SET wr_content = REPLACE(wr_content, '교촌*킨', '교촌치킨');[/code]
정리하면 위 쿼리를 실행하면 원하시는 대로 이뤄지는데, 그렇다고 하나하나 할 수는 없는 노릇이니, g5_board 에서 bo_table을 불러오고 다시 이를 for 문으로 만든 뒤, 'g5_write_bo_table' 처럼 사용하여 호출하면 바로 해결될 것입니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.