테스트 사이트 - 개발 중인 베타 버전입니다

회원정보 불러오기 질문드립니다. 채택완료

그누배우자 2년 전 조회 1,265

안녕하세요.

아래처럼 회원정보를 불러오고 잇습니다.

 

<?php
$rank_rows = 100; //출력 수
$sql = " select * from {$g5['member_table']} where (1) {$sql_common} order by mb_point desc, mb_today_login desc limit {$rank_rows} ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$rank = number_format($i + 1);
//$name = get_sideview($row['mb_id'], $row['mb_nick'], $row['mb_email'], $row['mb_homepage']);
$name = $row['mb_nick'];
$level = $row['mb_level'];
$joindate = date("y.m.d", strtotime($row['mb_datetime']));
$point = number_format($row['mb_point']);
?>
<tr>
    <td class="td_prank"><div class="rank_num"><span class="rank_bg" style="background:<?php echo $bg ?>"><?php echo $rank; ?></span></div></td>
    <td class="td_pname"><?php echo $name; ?></td>
    <td class="td_joindate"><?php echo $joindate; ?></td>
    <td class="td_plevel"><?php echo $level; ?></td>
    <td class="td_point"><?php echo $point; ?></td>
</tr>
<?php } ?>

다 잘되는데

 

정보공개를 허용한 회원들것만 노출하고 싶습니다.

또한 여분필드 mb_1 에 "테스트" 를 체크한 사람만 불러오고 싶은데요

and mb_open = "1" mb_1 = "테스트"

이런식으로

sql문을 건드려야 할것같은데..

제가 db쪽은 진짜 잘 몰라서요ㅠㅠ 어제도 도움받았는데

아시는 고수님 도움 부탁드립니다...

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
2년 전

</p>

<p><?php</p>

<p>$rank_rows = 100; //출력 수

$sql_common .= " AND (mb_open = '1' AND mb_1 = '테스트') ";

$sql = " select * from {$g5['member_table']} where (1) {$sql_common} order by mb_point desc, mb_today_login desc limit {$rank_rows} ";

$result = sql_query($sql);

for ($i=0; $row=sql_fetch_array($result); $i++) {

$rank = number_format($i + 1);

//$name = get_sideview($row['mb_id'], $row['mb_nick'], $row['mb_email'], $row['mb_homepage']);

$name = $row['mb_nick'];

$level = $row['mb_level'];

$joindate = date("y.m.d", strtotime($row['mb_datetime']));

$point = number_format($row['mb_point']);

?>

<tr>

    <td class="td_prank"><div class="rank_num"><span class="rank_bg" style="background:<?php echo $bg ?>"><?php echo $rank; ?></span></div></td>

    <td class="td_pname"><?php echo $name; ?></td>

    <td class="td_joindate"><?php echo $joindate; ?></td>

    <td class="td_plevel"><?php echo $level; ?></td>

    <td class="td_point"><?php echo $point; ?></td>

</tr></p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

F
2년 전

$sql="SELECT * FROM {$g5['member_table']} WHERE mb_open='1' AND mb_1='테스트'";

쿼리로 불러 오시면 됩니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

그누배우자
2년 전
답변감사합니다.

$sql = " select * from {$g5['member_table']} where mb_open='1' AND mb_1='테스트' (mb_id != 'admin') {$sql_common} order by mb_point desc, mb_today_login desc limit {$rank_rows} ";

이렇게 하면되는건지요..ㅠ
썽피리
2년 전
$sql = " select * from {$g5['member_table']} where mb_open='1' AND mb_1='테스트' AND (mb_id != 'admin') {$sql_common} order by mb_point desc, mb_today_login desc limit {$rank_rows} ";



$sql_common 쿼리가 어떻게 돼 있는지 모르겠지만 연결해주는 and 나 or 연산자가 포함되어 있지 않다면 

연산자를 붙여 주셔야 에러 없이 정상처리 됩니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인