본인데이터만 출력 질문

본인데이터만 출력 질문

QA

본인데이터만 출력 질문

본문


<?php
$sql = "select * from ".$g5['point_table']." limit 3"; desc limit 3";
$result = sql_query($sql);
?>
 
<tbody>
        <?php
          for ($i=0; $row=sql_fetch_array($result); $i++) {
            if(!$is_admin && $row['mb_id'] !=$member['mb_id']) continue;
        ?>
        <tr>
          <? if ($is_admin) {?>
            <th><?php echo $row['mb_id']?></th>
          <?}?>
          <th><?php echo $row['po_datetime']?></th>
          <th><?php echo number_format($row['po_point'])?>포인트</th>
          <th><?php echo $row['po_rel_table']?></th>
        </tr>
      </tbody>

 

$sql = "select * from ".$g5['point_table']." where mb_id = ".$member['mb_id']." order by po_datetime desc limit 3";

sql로 최신 3개 글을 뽑아오고 

 

if(!$is_admin && $row['mb_id'] !=$member['mb_id']) continue;

코드로 본인 데이터만 표시되게 했는데

 

이렇게 하니 포인트 테이블에 다른사람데이터가 입력되면 밀려서 하나가 없어지더라구요 

 

제가 설명을 잘 못해서 예를들면

포인트테이블에 a회원과 b회원의 데이터가

1행 a 1000포인트

2행 b 1000포인트

3행 b 1000포인트

4행 b 1000포인트

 

이렇게 데이터가있으면

 

b가 로그인해서 확인하면 최근 3개글 추출로인해

1행에 다른 회원의 데이터가있어서 

아래 2 , 3행 데이터 2개만 표시되더라구요

 

다른회원의 데이터는 완전히 제외시키고 본인글만 보여지게 뽑아오는 방법은 없을까요?

도움 부탁드립니다!

이 질문에 댓글 쓰기 :

답변 2


<?php
$sql = "select * from ".$g5['point_table'];
if (!$is_admin) {
    $sql .= " where mb_id = '".$member['mb_id']."' ";
}
$sql .= " order by po_datetime desc limit 3 ";
$result = sql_query($sql);
?>
 
<tbody>
        <?php
          for ($i=0; $row=sql_fetch_array($result); $i++) {
            //if(!$is_admin && $row['mb_id'] !=$member['mb_id']) continue;
        ?>
        <tr>
          <? if ($is_admin) {?>
            <th><?php echo $row['mb_id']?></th>
          <?}?>
          <th><?php echo $row['po_datetime']?></th>
          <th><?php echo number_format($row['po_point'])?>포인트</th>
          <th><?php echo $row['po_rel_table']?></th>
        </tr>
      </tbody>

정말감사합니다 ! 그런데 저렇게 나눠쓰는 이유가있을까요?

 

$sql = "select * from ".$g5['point_table']." where mb_id = '".$member['mb_id']."' order by po_datetime desc limit 3 ";

 

이렇게 한번에 연결해서 써도 될듯 싶은데 배우고자 하는 마음이 커서 궁금한마음에 한번 여쭤봅니다!

시퀄에서는 3개를 가져오는데

$sql = "select * from ".$g5['point_table']." where mb_id = ".$member['mb_id']." order by po_datetime desc limit 3";

 

이 아래에서

          for ($i=0; $row=sql_fetch_array($result); $i++) {
            if(!$is_admin && $row['mb_id'] !=$member['mb_id']) continue;

 

이런식으로 밑에서 다른 조건을 걸어 쓰면 당연히 밀려 나올수 밖어 없습니다.

맨 위에 시퀄에 조건을 심플하고 정확하게 작성해야지만 id = b 의 포인트 결제과를 가져올수 있는 것입니다.

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,757
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT