📖
g5_board 테이블에서 공지글 가져오기
페이지 정보
본문
g5_board 테이블에서 bo_table = 'miss' 인 행을 찾고, 해당 행의 bo_notice 값을 가져오고 싶다
✅ SQL & PHP 예시:[code]$sql = "SELECT bo_notice FROM g5_board WHERE bo_table = 'miss' LIMIT 1";
$result = sql_query($sql);
$bo_notice = '';
if ($row = sql_fetch_array($result)) {
$bo_notice = $row['bo_notice'];
}[/code]
💡 설명:
SELECT bo_notice → 필요한 열만 가져오고
WHERE bo_table = 'miss' → 조건 지정
LIMIT 1 → 어차피 하나만 필요하니까 성능도 굿
sql_fetch_array()로 결과 한 줄만 받으면 됨
bo_notice 값이 쉼표로 구분된 게시글 ID 목록이라면, 그걸 배열로 분리해서 쓰면 됩니다
✅ 예시 코드:[code]$sql = "SELECT bo_notice FROM g5_board WHERE bo_table = 'miss' LIMIT 1";
$result = sql_query($sql);
$bo_notice = '';
if ($row = sql_fetch_array($result)) {
$bo_notice = $row['bo_notice'];
// 쉼표로 나눠 배열로 변환
$notice_ids = array_filter(array_map('trim', explode(',', $bo_notice)));
}[/code]
💡 설명:
explode(',', $bo_notice) → 쉼표 기준으로 나눔
trim() → 공백 제거
array_map() → 각 항목에 trim 적용
array_filter() → 빈 항목 제거 (예: 맨 끝 쉼표 제거)
🔎 결과:
$notice_ids 배열에는 ['123', '456', '789'] 같은 게시글 ID들이 들어갑니다.
이제 이걸로 각각 게시글 불러오거나, 슬라이더/리스트/공지용으로 활용 가능!
예제) POST로 전달된 wr_id = "111,123,223,33,15" 같은 문자열을 쉼표로 나눠서 각각의 wr_id에 해당하는 게시글 정보를 조회[code]$bo_table = 'your_table_name'; // 사용 중인 게시판 테이블 이름
$wr_ids_raw = $_POST['wr_id'] ?? ''; // POST로 받은 wr_id 문자열
$wr_ids = array_filter(array_map('trim', explode(',', $wr_ids_raw))); // 쉼표 기준으로 나누고 공백 제거
if (!empty($wr_ids)) {
// 안전하게 wr_id들을 쿼리 안에 넣기 위해 정수형만 필터링
$wr_ids_safe = array_map('intval', $wr_ids);
$ids_string = implode(',', $wr_ids_safe);
// 쿼리 작성: wr_id IN (...)
$sql = "SELECT wr_id, wr_9, wr_subject FROM g5_write_{$bo_table} WHERE wr_id IN ($ids_string)";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
$wr_subject = $row['wr_subject'] ?? '';
$wr_9 = $row['wr_9'] ?? '';
echo $row['wr_id'] . ' / ' . $wr_subject . ' / ' . $wr_9 . '<br>';
}
} else {
echo "불러올 게시물이 없습니다.";
}[/code]
💡 포인트 요약:
explode(',', $string) → 쉼표로 나눔
trim() → 공백 제거
array_map('intval', ...) → SQL Injection 방지 (숫자만)
IN (...) 구문 → 여러 개 조건 조회할 때 깔끔하게
✅ SQL & PHP 예시:[code]$sql = "SELECT bo_notice FROM g5_board WHERE bo_table = 'miss' LIMIT 1";
$result = sql_query($sql);
$bo_notice = '';
if ($row = sql_fetch_array($result)) {
$bo_notice = $row['bo_notice'];
}[/code]
💡 설명:
SELECT bo_notice → 필요한 열만 가져오고
WHERE bo_table = 'miss' → 조건 지정
LIMIT 1 → 어차피 하나만 필요하니까 성능도 굿
sql_fetch_array()로 결과 한 줄만 받으면 됨
bo_notice 값이 쉼표로 구분된 게시글 ID 목록이라면, 그걸 배열로 분리해서 쓰면 됩니다
✅ 예시 코드:[code]$sql = "SELECT bo_notice FROM g5_board WHERE bo_table = 'miss' LIMIT 1";
$result = sql_query($sql);
$bo_notice = '';
if ($row = sql_fetch_array($result)) {
$bo_notice = $row['bo_notice'];
// 쉼표로 나눠 배열로 변환
$notice_ids = array_filter(array_map('trim', explode(',', $bo_notice)));
}[/code]
💡 설명:
explode(',', $bo_notice) → 쉼표 기준으로 나눔
trim() → 공백 제거
array_map() → 각 항목에 trim 적용
array_filter() → 빈 항목 제거 (예: 맨 끝 쉼표 제거)
🔎 결과:
$notice_ids 배열에는 ['123', '456', '789'] 같은 게시글 ID들이 들어갑니다.
이제 이걸로 각각 게시글 불러오거나, 슬라이더/리스트/공지용으로 활용 가능!
예제) POST로 전달된 wr_id = "111,123,223,33,15" 같은 문자열을 쉼표로 나눠서 각각의 wr_id에 해당하는 게시글 정보를 조회[code]$bo_table = 'your_table_name'; // 사용 중인 게시판 테이블 이름
$wr_ids_raw = $_POST['wr_id'] ?? ''; // POST로 받은 wr_id 문자열
$wr_ids = array_filter(array_map('trim', explode(',', $wr_ids_raw))); // 쉼표 기준으로 나누고 공백 제거
if (!empty($wr_ids)) {
// 안전하게 wr_id들을 쿼리 안에 넣기 위해 정수형만 필터링
$wr_ids_safe = array_map('intval', $wr_ids);
$ids_string = implode(',', $wr_ids_safe);
// 쿼리 작성: wr_id IN (...)
$sql = "SELECT wr_id, wr_9, wr_subject FROM g5_write_{$bo_table} WHERE wr_id IN ($ids_string)";
$result = sql_query($sql);
while ($row = sql_fetch_array($result)) {
$wr_subject = $row['wr_subject'] ?? '';
$wr_9 = $row['wr_9'] ?? '';
echo $row['wr_id'] . ' / ' . $wr_subject . ' / ' . $wr_9 . '<br>';
}
} else {
echo "불러올 게시물이 없습니다.";
}[/code]
💡 포인트 요약:
explode(',', $string) → 쉼표로 나눔
trim() → 공백 제거
array_map('intval', ...) → SQL Injection 방지 (숫자만)
IN (...) 구문 → 여러 개 조건 조회할 때 깔끔하게
댓글목록
등록된 댓글이 없습니다.
![]() ![]() |