od_time 역순

od_time 역순

QA

od_time 역순

본문

<?php
$sql = "select sum(a.od_cart_price) od_cart_price, od_time from {$g5['g5_shop_order_table']} a inner join {$g5['member_table']} b on a.mb_id = b.mb_id where a.od_status != '취소' and a.mb_id = '{$member['mb_id']}' order by od_time asc"; // 주문상태 취소를 제외,
$row = sql_fetch($sql);

echo substr($row['od_time'],2,8);

?>

 

하면 구매일이 가장 오래된게 나오는데요

 

가장 최근 것 하나만 나오게 하려면 어떻게 해야 하나요?

 

order by od_time asc;, order by od_time desc; 차이가 없네요

 

order by od_time desc limit 1"; 해봐도 소용이 없습니다 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 4

inner join을 쓰셨습니다.

{$g5['g5_shop_order_table']} a

{$g5['member_table']} b

 

두가지 테이블을 조인하셨기때문에 order by 할때 컬럼의 테이블 지정을 하셔야 합니다.

od_time 컬럼이 a에 있으면 order by a.od_time

b에 있으면 order by b.od_time 으로 지정하시면 될것으로 예상됩니다.

order by a.od_time desc 해보세요

order by a.od_time desc
order by a.od_time asc
order by od_time desc
order by od_time asc
order by a.od_time desc limit 1
order by a.od_time asc limit 1
order by od_time desc limit 1
order by od_time asc limit 1

전부 18-08-07 로 나옵니다.

최신 날짜는 18-10-15입니다.

b.od_time은 아예 나오지 않아요 ㅠㅠ

$sql = "select sum(a.od_cart_price) od_cart_price, od_time from {$g5['g5_shop_order_table']} a inner join {$g5['member_table']} b on a.mb_id = b.mb_id where a.od_status != '취소' and a.mb_id = '{$member['mb_id']}' order by od_time asc"; // 주문상태 취소를 제외,

 

od_time이 아예 없네요

아래처럼 변경해보세요

 

$sql = "select a.od_time, sum(a.od_cart_price) od_cart_price, od_time from {$g5['g5_shop_order_table']} a inner join {$g5['member_table']} b on a.mb_id = b.mb_id where a.od_status != '취소' and a.mb_id = '{$member['mb_id']}' order by a.od_time asc";

<?php
include_once('./_common.php');
include_once(G5_THEME_PATH.'/head.php');
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
<?php
$sql = "select a.od_time, sum(a.od_cart_price) od_cart_price, od_time from {$g5['g5_shop_order_table']} a inner join {$g5['member_table']} b on a.mb_id = b.mb_id where a.od_status != '취소' and a.mb_id = '{$member['mb_id']}' order by a.od_time asc limit 1";
$row = sql_fetch($sql);
$atoday = time();
$btoday = strtotime($row['od_time']);
$ctoday = round(($atoday - $btoday) / (60 * 60 * 24));
if($member['mb_level'] < 10) {
    if($ctoday < 365) {
        if($row['od_cart_price'] <= 50000){
            $level_up = 2;
        }elseif($row['od_cart_price'] <= 100000){
            $level_up = 3;
        }elseif($row['od_cart_price'] <= 150000){
            $level_up = 4;
        }elseif($row['od_cart_price'] <= 200000){
            $level_up = 5;
        }elseif($row['od_cart_price'] <= 250000){
            $level_up = 6;
        }elseif($row['od_cart_price'] <= 300000){
            $level_up = 7;
        }elseif($row['od_cart_price'] <= 500000){
            $level_up = 8;
        }elseif($row['od_cart_price'] <= 1000000){
            $level_up = 9;
        }
    } else {
            $level_up = 2;
    }

    sql_query(" update {$g5['member_table']} set mb_level = '$level_up' where mb_id = '$member[mb_id]' ");
}
?>
<?php echo $ctoday; ?><br>
<?php echo substr($row['od_time'],2,8); ?><br>
<?php echo $row['od_cart_price']; ?>

<?php
include_once(G5_THEME_PATH.'/tail.php');
?>

 

이게 전문이거든요?

 

취지가 뭐냐면 누적 금액에 따라 회원 등급을 올리고 최근 구매일로부터 1년 이상 경과한 고객은 레벨 2로 낮춰버리는 그런 프로그램이에요.

 

밑에 echo 는 그냥 테스트로 출력하는거구요

 

도저히 바뀌질 않네요 ㅎㅎ... 우울하네요 ㅠㅠ

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

회원로그인

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