if 문 질문

if 문 질문

QA

if 문 질문

본문

<?php 
$sql = " select * from g5_order where mb_id = '{$member['mb_id']}' ";
$res = sql_query($sql);

while($row=sql_fetch_array($res)){
?>

여기서 if 조건을 추가하고 싶은데요

sql 에 데이터가 2개 이상일때와 2개 미만일때를 조건문을 추가 하고 싶습니다

방법이 궁금합니다.

if(($res)>1){ 이런식으로 코드를 짜는게 맞는건가요?

이 질문에 댓글 쓰기 :

답변 3

질문의 의도가 조금 모호한데요

 

이해한 바로 다시 작성하면

1고객이 주문한 주문건수가 2개이상인것과 1개이하인것을 구분해서 표기하고자 하는것으로 보여집니다.

맞나요?

 

그렇다면


//로그인한 사용자의 주문건수가 몇개인지를 찾아야죠
<?php 
$sql = " select count(*) cnt from g5_order where mb_id = '{$member['mb_id']}' ";
// $res = sql_query($sql); //기존의것은 멀티로 row별로 확인할때
$row = sql_fetch($sql);   // 한번의결과값을 가져오는 함수로 카운트 체크
if ($row['cnt'] > 1) {  // 1개보다 큰경우 즉, 2개이상인경우
     //출력하고자하는 내용
}
else {
   // 1개이하인경우
   //출력하고자하는내용
}
 

 

이렇게 하시면됩니다.

 

while 문 전에

$res['num_rows'] 출력해보세요 ㅎㅎ

<?php
$sql = " select * from g5_order where mb_id = '{$member['mb_id']}' ";
$res = sql_query($sql);
$order_count = sql_num_rows($res);
if($order_count<1){
while($row=sql_fetch_array($res)){
?>


<?php echo $row['orderid'] ?>
<?php }else{ ?>
<?php echo $row['mb_id'] ?>

<?php } ?>
<?php } ?>
이런식으로 해보았는데 else 에서 오류가 나오네요 ㅠㅠ

$sql = "select * from g5_order where mb_id = '{$member['mb_id']}';";
$res = sql_query($sql);
$num_rows = sql_num_rows($res);

if ($num_rows > 0) {
    // 데이터가 있으면 출력
    while ($row = sql_fetch_array($res)) {
        echo $row['mb_id'];
    }
} else {
    // 데이터 없음 (num_rows == 0)
    echo '데이터가 없습니다.';
}


이런식을 말씀하시는거 아닌지 ㅎㅎ

<?php 
$sql = " select *, count(*) as cnt from g5_order where mb_id = '{$member['mb_id']}' ";
$res = sql_query($sql);

while($row=sql_fetch_array($res)){

if($res['cnt'] >= 2){ 

//2이상

}else{

//2미만

}
?>

<?php
$sql = " select * from g5_order where mb_id = '{$member['mb_id']}' ";
$res = sql_query($sql);
$order_count = sql_num_rows($res);
if($order_count<1){
while($row=sql_fetch_array($res)){
?>


<?php echo $row['orderid'] ?>
<?php }else{ ?>
<?php echo $row['mb_id'] ?>

<?php } ?>
<?php } ?>
이런식으로 코드를 짜서 넣어봤는데 else 에서 오류가 나는데 이런식으로 할 수 있는 방법이 어디 없을까요?

주신 코드로 해보니
Fatal error: Uncaught Error: Cannot use object of type mysqli_result as array in /home1/uksoft/public_html/platform/report.php:11 Stack trace: #0 {main} thrown in /home1/uksoft/public_html/platform/report.php on line 11
이런 오류가 나오네요

앗오타네요
이렇게요

<?php
$sql = " select *, count(*) as cnt from g5_order where mb_id = '{$member['mb_id']}' ";
$res = sql_query($sql);

while($row=sql_fetch_array($res)){

if($row['cnt'] >= 2){

//2이상

}else{

//2미만

}
?>

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

회원로그인

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