필드쪼개서 밀어넣기는 성공햇는데..ㅠㅠ 도와주세용
본문
제 홈피는 사진 동호회 회원들이 모여서 사진찍어 올려 검색 서비스를 제공하는 홈페이지 입니다.
그러다 보면 각각 우리 회원들이 올린 사진 총 장수를 구하여야 합니다..
$p_1=sql_fetch("select sum(bo_4) as cnt from $g4[board_table] where gr_id='photo' and bo_3 = '$row[mb_id]'");
$photo=$p_1[cnt]; //업로드사진총수
이런식으로 해서 본인이 검색하면 자신이 올린 사진 총 장수를 뽑아낼 수 있었습니다. 레코드한개에 한장만 올라가거든요.
photo_0001.... 이런식으로 나가는 포토 테이블의 설정부분에 bo_3과 bo_4에 각각 아이디와 장수를 입력했습니다. 또한 photo라는 그룹으로 몰아 놓았습니다.
때문에 위의 코드처럼하게 되면
"photo 그룹의 모든 테이블을 bo_3에 입력된 아이디와 같다면 그 레코드 수를 뽑아내라~~."
그러면 그 회원이 올린 장수를 모두 뽑아갈 수 있었죠.
근데요... 변수가 생겼습니다요...
회원 1명이 1개 게시판테이블을 쓴다면 아무 문제없는데요.. 회원3명이 1개 테이블을 같이 쓸수 있는 경우의 수가 발생할수 있단말이죠.. 그럼 그냥 회원1명에게 무조건 1개 테이블을 생성해서 주세요..라고 할 수도 잇지만 그렇게 되면..ㅠㅠㅠ 게시판테이블이 너무너무 많이 늘어나요..
그러다 보면 각각 우리 회원들이 올린 사진 총 장수를 구하여야 합니다..
$p_1=sql_fetch("select sum(bo_4) as cnt from $g4[board_table] where gr_id='photo' and bo_3 = '$row[mb_id]'");
$photo=$p_1[cnt]; //업로드사진총수
이런식으로 해서 본인이 검색하면 자신이 올린 사진 총 장수를 뽑아낼 수 있었습니다. 레코드한개에 한장만 올라가거든요.
photo_0001.... 이런식으로 나가는 포토 테이블의 설정부분에 bo_3과 bo_4에 각각 아이디와 장수를 입력했습니다. 또한 photo라는 그룹으로 몰아 놓았습니다.
때문에 위의 코드처럼하게 되면
"photo 그룹의 모든 테이블을 bo_3에 입력된 아이디와 같다면 그 레코드 수를 뽑아내라~~."
그러면 그 회원이 올린 장수를 모두 뽑아갈 수 있었죠.
근데요... 변수가 생겼습니다요...
회원 1명이 1개 게시판테이블을 쓴다면 아무 문제없는데요.. 회원3명이 1개 테이블을 같이 쓸수 있는 경우의 수가 발생할수 있단말이죠.. 그럼 그냥 회원1명에게 무조건 1개 테이블을 생성해서 주세요..라고 할 수도 잇지만 그렇게 되면..ㅠㅠㅠ 게시판테이블이 너무너무 많이 늘어나요..
그래서요.. 저도 코드를 바꾸었습니다.
bo_3 (회원아이디입력) 부분을 구분자 | 를 넣어 쪼갰습니다.
bo_4 (장수 입력) 부분도 구분자 | 를 넣어 쪼갰습니다.
쪼개서 넣는 것 까지는 성공했습니다.
bo_3필드의 경우 예를 들면 wnkm4|wnkm3|wnkm2|wnkm1|wnkm 이런식으로 입력됩니다. 물론 5명까지로 한정했습니다.
bo_4필드의 경우 예를 들면 127|7|3|0|0 이런식으로 입력됩니다..
게시판 그룹명은 photo 입니다.
그 그룹에 속한 게시판 테이블은 photo_0001, photo_0002, photo_0003, photo_0004, photo_0005 ...... 이런식으로 계속해서 생성될 것입니다.
[질문]
그렇다면요..
각각의 게시판 테이블마다 각각 bo_3과 bo_4가 구분자로 나누어져 입력될 것입니다.
예전에는 bo_3과 bo_4에는 하나의 아이디와 장수만 입력되기때문에 bo_3의 아이디가 같은 것만 bo_4의 숫자를 더해서 장수를 뽑았습니다.
$p_1=sql_fetch("select sum(bo_4) as cnt from $g4[board_table] where gr_id='photo' and bo_3 = '$row[mb_id]'");
$photo=$p_1[cnt]; //업로드사진총수
이 코드가 되겟죠...
그런데 이제는 달리해서 뽑아야 되는데, 비전문가 인지라서.. 도저히 감이 안오네요...
그러니까.. 쿼리를 한국말로 한다면...
"그룹명이 photo 인것 중에서 bo_3에 구분자 | 으로 입력된 아이디중 '$row[mb_id]'와 같은 아이디가 있다면 bo_4의 구분자 | 로 나뉘어진 것 중 '$row[mb_id]'에 해당되는 장수만 더해라"
이렇게 되겠네요...
구분자로 나누어서 어느 한필드에 밀어넣고 뽑아내는 건 알겠는데요....
막상 구분자로 나누어서 필드에 입력된 것 들 중에서 같은 아이디만 뽑고 그에 해당하는 장수를 뽑을려구 해보니 감이 도저히 안오네요..ㅠㅠㅠ
'$row[mb_id]'에 해당되는 총 장수 만 뽑아내는 쿼리는 어케 해야하는지 좀 알려주실 수 있는지요???
좀 도와주세요.. 감사합니다.
답변 3
입력이 그렇게 되어서는 원하는 값을 구할 수 없습니다
$g4[board_file_table]에 mb_id 필드를 추가해서 아이디를 등록하는 방법으로 하세요
아...
그렇군요..
근데 파일업로드방식이 아니라서요..ㅠㅠㅠㅠ 사진을 특정폴더에서 끌어오는 방식이거든요..
다른방법을 생각해봐야겠네요..
대단히 감사드립니다.
많은 도움이 되었습니다. 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.