2026, 새로운 도약을 시작합니다.

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개

채택된 답변
+20 포인트

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

이해한 바로 다시 작성하면

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

맞나요?

그렇다면

Copy


//로그인한 사용자의 주문건수가 몇개인지를 찾아야죠

이렇게 하시면됩니다.

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

답변에 대한 댓글 1개

질문을 잘못 했는데 g5_order 테이블 안에 mb_id 가 가진 orderid 데이터 수로 조건문을 만들고 싶어요 어떻게 하면 좋을까요?

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

<?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미만

}
?>

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

답변에 대한 댓글 4개

<?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 에서 오류가 나는데 이런식으로 할 수 있는 방법이 어디 없을까요?
제 코드로해보세요.


주신코드로는

if($order_count<1){

이코드를뺴세요
주신 코드로 해보니
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미만

}
?>

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

while 문 전에

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

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

답변에 대한 댓글 3개

<?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 에서 오류가 나오네요 ㅠㅠ
문법오류인거같은데 while 이 안닫아진거같은데요 ㅎㅎ
근데 $order_count > 1 이 조건이 되야 루프 돌리는게 맞는거 아닌가용?
$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 '데이터가 없습니다.';
}


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

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

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

로그인
🐛 버그신고