[살려주세요]통합게시판 3일째.... 멘땅에 해딩중입니다.
본문
그누5사용중인데
게시판 그룹에 있는 글을 A_table 게시판에 모을려고 합니다.
어째어째하다가 만든게
write_update.php문에
$sql = " insert into $write_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = '{$wr_hit}',
wr_good = 0,
wr_nogood = 0,
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10'
";
sql_query($sql);
$sql2 = " insert into a_table
set wr_num = '$wr_num',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = '{$wr_hit}',
wr_good = 0,
wr_nogood = 0,
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10'
";
if($bo_table == 'a_table'||$bo_table == 'b_table'||$bo_table == 'c_table'||$bo_table == 'd_table'||$bo_table == 'e_table'){sql_query($sql2);}
이렇게하니 통합은 되더군요 근데 문제는 '작성완료'등록을 하면 글이 없거나 삭제 되었다고 하더군요
아마 wr_id값이 없다는건데....
어딜 수정해야할까요?? 지금 3일째 멘땅에 해딩하는 느낌이에요.ㅠ
답변 4
wr_id값은 ai가 아니신것 아닐까요?
desc a_table 하셔서 wr_id의 Extra 컬럼에 auto_increment가 있는지 보시고 아니라면 변경해주세요.
여러개 개시판에 있는 글을 하나로 묶어서 보여줄려고 하는거죠?? 왜 하나에 table에 집어넣는거죠?? 오히려 더 어려울텐데.. union 쿼리 쓰세요.. 그럼 간단히 해결되잖아요?
select * from (
select * from a table
union
select * from b table
union
select * from c table
) as a where 조건식 order a.desc
뭐 이런식으로 하시면 됩니다. 또 각각의 table상의 조건은 거기서 주시며 되고요.
뽑아낼려고 하는 조건을 말하는겁니다. 날짜가 몇일부터 몇일까지 .. 없으면 안넣으면 되고요,,
그리고 union 쿼리는 모든 테이블을 다 가져오는거기때문에 각각의 table이름도 field로 가져와야합니다.
그리야 나중에 글을 선택했을때 삭제, 수정을 할수있습니다.
그리고 쪽지로 주신 번호가 -1,-2로 나온다는건 무슨뜻인가요?? wr_id 값음 테이블마다 다 다를꺼고? 페이징 리스트 하실려면 번호 순서를 새로 부여해야합니다.
SELECT column1, 'testA' AS tblName FROM testA
UNIONSELECT column1, 'testB' AS tblName FROM testB
그리고 페이지은 union 으로가져온 쿼리는 그것 차체로 하나의 sql 쿼리가 됩니다.
그누보드에 보시면 page 소스있으꺼에요.. 그거에서 번호순차적으로 부여하는 php문있을꺼에요.. 그거 찾으셔서 적용하세요..
webpage에서 게시판 페이징은 모든 프로그램의 시작과 끝입니다. 그많큼 중요하고 자주쓰입니다. 잘 모르시겠으면 꼭 공부하세요.