[디자이너의 초보PHP강의 08] DB에서 값 불러오기
솔직히....정상적으로 php를 공부한것이 아니기 때문에...알고 있는 부분만 적습니다.
다른 방법도 존재할것이고...더 좋은 방법이 있지만....아는 부분까지만 올릴게요
DB에서 값을 불러올때는
$sql = " select * from g4_member where mb_1 = '남자' order by mb_id limit 10 ";
$result = sql_query($sql);
$result = sql_query($sql);
$row=sql_fetch_array($result);
이런식으로 표현을 합니다.
하나하나 짚어보자면
select * from g4_member where mb_1 = '남자' order by mb_id limit 10
이것이 DB에 연결해서 데이터를 불러오도록 설정하는 것입니다
* 는 g4_memmber 테이블에 있는 모든 필드값을 불러오라는 것이고
where mb_1 = '남자' 는 조건을 주어서 조건에 맞는 것만 불러오도록 하는 것입니다. mb_1 필드값이 '남자' 인 게시물을 찾으라는 것이지요
order by 는 게시물을 불러왔을때 정렬해 주는 것이고
limit 는 불러오는 갯수를 정해주는 것입니다.
이제 쉽죠...??
데이터가 있을때 원하는 부분만 불러올때는 저런식으로 값을 넣어서...불러오면 됩니다.
예를 들어 회원레벨이 5에서 7인 회원데이터를 불러오고자 할때에는
select * from g4_member where mb_level >= '5' and mb_level <= '7' 이런식으로 조건을 넣어주면 됩니다.
보시면 알겠지만 mb_level >= '5' and mb_level <= '7' 조건부분에 두가지 내용이 들어가 있죠??
두개다 만족하는 게시물을 찾을때에는 and를 넣어주면 되고 둘중에 한조건만 만족을 주는 것을 찾을때에는
or를 넣어주면 됩니다. and와 or는 완전히 다른 의미입니다
select * from g4_member where mb_level >= '5' or mb_level <= '7'
이렇게 되면 회원레벨이 5이상인 회원을 다 불러오는 것이고 또 7이하인 회원을 다 불러오는 것이기 때문에 결국 회원전체를 불러오게 되는 조건이 되어 버립니다.
select * from g4_member where mb_level = '5' and mb_level = '7'
이렇게 넣어주면 회원레벨이 5이면서 7인 회원을 불러오라고 하는 것입니다.....말이 이상하죠??...결국 데이터가 아무것도 없게되죠?
근데? 한가지 이상하죠?
php구문에서는 == 가 같다는 의미였는데..db불러올때에는 = 가 한개가 들어갑니다...이유는...저도 몰라요..그렇게 씁니다...두개 들어가면 에러나요...ㅜㅜ
그리고
$row=sql_fetch_array($result); 부분이 있습니다.
$row가 값을 표현해주는 방식입니다
<?=$row[mb_1]?>
이렇게 불러와 주시면 됩니다.
$row_mb=sql_fetch_array($result); 이렇게 하면
<?=$row_mb[mb_1]?> 이렇게 되겠죠???
그리고
게시물의 갯수를 구할때에는
$sql_cnt = " select count(*) as cnt from g4_member where mb_1 = '남자'";
$row_cnt = sql_fetch($sql_cnt);
$total_count = $row_cnt[cnt];
$row_cnt = sql_fetch($sql_cnt);
$total_count = $row_cnt[cnt];
이렇게 처리하면 됩니다. g4_member 테이블에서 $mb_1 값이 남자인 게시물의 게수를 구하는 것이지요
$total_count 값이 그 값입니다.
order by mb_1 asc
는 데이터 정렬 방식인데 asc는 오름차순을 뜻하며, 일반적으로 생략합니다.
그리고 desc는 내림차순을 뜻하는 거구여. 생략할 수 없습니다.
order by mb_1 desc mb_1 값을 기준으로 내림차순으로 정렬하는 것이지요
보통 게시판 리스트에서는 게시물이 많이 때문에 for 문을 이용하여 불어옵니다.
<?php
$sql = " select * from g4_member where mb_1 = '남자' order by mb_id limit 10 ";
$result = sql_query($sql);
$result = sql_query($sql);
?>
<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td class='biz_bbs_left'></td>
<td class='biz_bbs_bg' width=90><b>게시판아이디</td>
<td class='biz_bbs_bg'><b>게시판이름</td>
<td class='biz_bbs_bg' width=80><b>게시판스킨</td>
<td class='biz_bbs_bg' width=80><b>카테고리사용</td>
<td class='biz_bbs_bg' width=80><b>읽기권한</td>
<td class='biz_bbs_bg' width=80><b>쓰기권한</td>
<td class='biz_bbs_bg' width=50><b>삭제</td>
<td class='biz_bbs_bg' width=50><b>보기</td>
<td class='biz_bbs_right'></td>
</tr>
<?
for ($i=0; $row=sql_fetch_array($result); $i++) {
$list = $i%2;
<tr>
<td class='biz_bbs_left'></td>
<td class='biz_bbs_bg' width=90><b>게시판아이디</td>
<td class='biz_bbs_bg'><b>게시판이름</td>
<td class='biz_bbs_bg' width=80><b>게시판스킨</td>
<td class='biz_bbs_bg' width=80><b>카테고리사용</td>
<td class='biz_bbs_bg' width=80><b>읽기권한</td>
<td class='biz_bbs_bg' width=80><b>쓰기권한</td>
<td class='biz_bbs_bg' width=50><b>삭제</td>
<td class='biz_bbs_bg' width=50><b>보기</td>
<td class='biz_bbs_right'></td>
</tr>
<?
for ($i=0; $row=sql_fetch_array($result); $i++) {
$list = $i%2;
echo "
<tr>
<td height=35></td>
<td align=center><b>$row[bbs_id]</td>
<td align=center>$row[bbs_name]</td>
<td align=center>$row[bbs_skin]</td>
<td align=center>$checked</td>
<td align=center>".get_biz_level("$row[biz_id]", $row[bbs_read_level])."[$row[bbs_read_level]]</td>
<td align=center>".get_biz_level("$row[biz_id]", $row[bbs_write_level])."[$row[bbs_write_level]]</td>
<td align=center>$s_del</td>
<td align=center>$s_mod</td>
<td></td>
</tr>
<tr><td colspan='$colspan' class='biz_bbs_line2'></td></tr>";
}
<tr>
<td height=35></td>
<td align=center><b>$row[bbs_id]</td>
<td align=center>$row[bbs_name]</td>
<td align=center>$row[bbs_skin]</td>
<td align=center>$checked</td>
<td align=center>".get_biz_level("$row[biz_id]", $row[bbs_read_level])."[$row[bbs_read_level]]</td>
<td align=center>".get_biz_level("$row[biz_id]", $row[bbs_write_level])."[$row[bbs_write_level]]</td>
<td align=center>$s_del</td>
<td align=center>$s_mod</td>
<td></td>
</tr>
<tr><td colspan='$colspan' class='biz_bbs_line2'></td></tr>";
}
if ($i == 0)
echo "<tr><td colspan='$colspan' align=center height=150>자료가 없습니다.</td></tr>";
echo "<tr><td colspan='$colspan' align=center height=150>자료가 없습니다.</td></tr>";
echo "<tr><td colspan=$colspan class='biz_bbs_line2'></td></tr>
</table>";
</table>";
?>
이런식으로 해서 해당값을 가지는 게시물만 불러와서 보여주는 것입니다.
참 쉽죠????
|
댓글을 작성하시려면 로그인이 필요합니다.
프로그램
태그 필터 (최대 3개)
전체
개발자
소스
기타
mysql
팁자료실
javascript
php
linux
flash
정규표현식
jquery
node.js
mobile
웹서버
os
프로그램
강좌
썸네일
이미지관련
도로명주소
그누보드5
기획자
견적서
계약서
기획서
마케팅
제안서
seo
통계
서식
통계자료
퍼블리셔
html
css
반응형
웹접근성
퍼블리싱
표준화
반응형웹
홈페이지기초
부트스트랩
angularjs
포럼
스크린리더
센스리더
개발자톡
개발자팁
퍼블리셔톡
퍼블리셔팁
기획자톡
기획자팁
프로그램강좌
퍼블리싱강좌
댓글 6개
이부분의 설명이 있을줄 알았는데 ㅠㅠ 아쉽지만 잘보고 가요 ^^
이곳에서 힌트를 얻었습니다.
좋은정보 감사합니다^^