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

if 문 질문 채택완료

익수야가자 4년 전 조회 2,314

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

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

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

방법이 궁금합니다.

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

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

답변 3개

채택된 답변
+20 포인트
플래토
4년 전

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

 

이해한 바로 다시 작성하면

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

맞나요?

 

그렇다면

</p>

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

<p><?php 

$sql = " select count(*) cnt from g5_order where mb_id = '{$member['mb_id']}' ";

// $res = sql_query($sql); //기존의것은 멀티로 row별로 확인할때</p>

<p>$row = sql_fetch($sql);   // 한번의결과값을 가져오는 함수로 카운트 체크</p>

<p>if ($row['cnt'] > 1) {  // 1개보다 큰경우 즉, 2개이상인경우</p>

<p>     //출력하고자하는 내용</p>

<p>}</p>

<p>else {</p>

<p>   // 1개이하인경우</p>

<p>   //출력하고자하는내용</p>

<p>}</p>

<p> </p>

<p>

 

이렇게 하시면됩니다.

 

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

답변에 대한 댓글 1개

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

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

핑크빈
4년 전

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

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

//2이상

}else{

//2미만

} ?>

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

답변에 대한 댓글 4개

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


주신코드로는

if($order_count<1){

이코드를뺴세요
익수야가자
4년 전
주신 코드로 해보니
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
이런 오류가 나오네요
P
Phillips
4년 전
앗오타네요
이렇게요

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

}
?>

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

4년 전

while 문 전에

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

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

답변에 대한 댓글 3개

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


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

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

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

로그인