반응형

영카트 상품 페이지에서

장바구니 버튼을 클릭하면 바로 장바구니로 이동하고있는데

타 사이트처럼 이동하시겠습니까~? 물어보고 이동하게 바꾸려고한다

페이지넘어가기전에 처리하려면 ajax로 처리해서 좀 귀찮을거같아서

cartupdate에서 confirm을 이용해서 다시 돌아오던지, 장바구니로 가던지 바꿔야겠다

일단 간단하니까 ;

cartupdate.php 마지막에 추가한다

//goto_url(G5_SHOP_URL.'/cart.php'); 
confirm("장바구니에 담겼습니다. 장바구니로 이동하시겠습니까?", G5_SHOP_URL.'/cart.php', G5_SHOP_URL.'/item.php?it_id='.$it_id);

아 confirm 내용은 lib/common.lib.php에 선언되어있다

728x90
반응형
반응형

휴대폰 번호를 검색하는데

옛 쇼핑몰을 수정에 수정에 수정을 거듭하다보니 주문 폼이 엉켜버린것같다

휴대폰에 하이픈이 들어있는것도있고 없는것도있고

그래서 주문조회하는데 하이픈을 입력하는사람도 입력안하는사람도

db에만 통일되게 들어가있으면 넘길때만 처리해서 넘기면되는데

워낙 데이터양도많고 처음부터 손대기그래서 

쿼리문할때도 하이픈 빼버리고 추출하도록 수정했다.

replace 를 사용했다

where 문에서 적용시키는게 잘안나와서 귀찮 이것저것 해보다 성공

쿼리문에서의 특정 문자 제거는 replace(해당컬럼명,'해당문자','바꿀문자')

ex) select * from table where replace(hp,'-','')='01012345678';

이거랑 별개로 주문조회 자체가 좀 문제있는거같긴한데;

728x90
반응형
반응형

php 쿼리를하다가

등록된 db에서 그룹별로 묶어서 그룹수와 그룹별 데이터갯수를 구해야했다

통계 그래프로 나타내야해서 수를 카운트하는게 중요했는데

일단 그룹별 총 수는

select count(*) as cnt, db_group from [] where [] group by db_group 으로 

뽑아낼수있었고 그래프에다가는 배열로 담아서 뿌려줫다

그룹의수는 이쿼리에서 그냥 카운트해도 되기는하는데

select count(cnt) as cnt, db_type
                            from ( select count(*) as cnt, db_count, db_type from {$tbl_x} where wr_id = '{$list[$i]['wr_id']}' group by db_count, db_type ) as a
                        where (1) group by db_type order by db_type desc

이건 실제 적용한 코드인데 몇개 더 추가되긴했지만 이런식으로도 각각 수를 구했다.

이중쿼리,,인가 이것도 익숙해져야하는데 가끔씩만 쓰다보니 할때마다 헷갈리네

 

728x90
반응형
반응형

보통 sns 게시물 가져오는 기능을 추가할때

인스타, 네이버블로그 정도를 많이들 가져온다

인스타야 워낙 종류도 많고 해서 적당히 처리되는데

이번에는 유튜브도 가져오고싶다고해서 귀찮았다

확실히 귀찮았음

유튜브api를 찾아보니

어우 너무복잡하더라

이것저것 메뉴얼보고 해봐도 잘안되고 인증받아야되고;

아무튼 이것저것하다보니

앱키와 채널아이디만으로 불러오는 코드가있었다

$api_key = ''; //my API key
$channel_id = ''; //my channel ID
$max_result = 6;

                            $url = 'https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId='.$channel_id.'&maxResults='.$max_result.'&key='.$api_key;
                            $video_list = json_decode(file_get_contents($url),TRUE);

                            //print_r($video_list);

                            foreach ($video_list['items'] as $item) {
                                if (isset($item['id']['videoId'])) {

                                    echo '<div class="swiper-slide"><a href="https://www.youtube.com/watch?v=' .$item['id']['videoId']. '" target="_blank"><img src="'. $item['snippet']['thumbnails']['default']['url'] .'" alt=""></a></div>';
                                } 
                            }

아니 들여쓰기가 왜 안되는겨
아무튼 이런식으로 하면 잘가져오더라
이렇게 간단한방식은 너무 좋지만
한번 패치나 보안업데이트때
오류발생한 경우가많아서 일단 임시방편으로 적용하자

728x90
반응형
반응형

이번에 작업한것은 메일시스템이었다

기본 그누보드에 달려있는 메일 함수는 뭔가 오류가많이 나왔다

스팸으로 들어간다던가 아예 차단을 해버려서 전송이 안된다던가

그래서 새로운 메일시스템을 입히는 과정에서

php로 구성되어있는 코드를

메일 api 리턴받고 그러면서 ajax처럼 써야 되는 상황이나와서

이것저것 써보다가 완료했다

일단 php 에서

curl_setopt 란 기능을 이용하는것이 주요 요소였고

구성은

$_data = array(
'fname' => $fname, // 발신자 이름
'fmail' => $fmail, // 발신자 이메일
'to' => $to, // 수신자 이메일
'subject' => $subject, // 제목
'content' => $content, // 내용
);

    $ch1 = curl_init();
    curl_setopt($ch1, CURLOPT_URL, G5_BBS_URL.'/testetstest.php');
    curl_setopt($ch1, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch1, CURLOPT_HEADER, FALSE);
    curl_setopt($ch1, CURLOPT_POST, 1);

    curl_setopt($ch1, CURLOPT_POSTFIELDS, http_build_query($_data));

    curl_setopt($ch1, CURLOPT_POSTFIELDSIZE, 0);
    curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch1, CURLOPT_SSLVERSION,3);
    $response = curl_exec($ch1);

    curl_close($ch1);

    return $_data;

    이런느낌으로 함수를 만들어서 쏜다음
    해당 페이지로가서 $_POST 로 받아서 따따따 넣어주면 되었다
    생각보다 간단하게 끝나고 만족스
728x90
반응형
반응형

키오스크나 대형스크린 프로그램 작업시

키보드를 띄워서 입력받는 경우가 종종있다

기존에 사용하던 키보드를 사용해서 작업을 했지만~?

휴대폰 번호를 입력받아야해서

숫자만 띄워달라고 한다

후움

css로 억지로 조정하면 되기야하겠지만

그게더 귀찮을거같기도하고

혹시몰라 찾아보니 숫자용이 따로있더라

numberKeypad.js

이 플러그인을 사용해서 처리했다

css파일도 있고 두개를 추가한후에

//숫자 키보드 따로생성
$('.number_keyboard').numberKeypad({
wrap: '.number_input'
});

//스타일조정
$('.number_keyboard').on('click',function(){
$(".keypad").addClass('d-block');
});

//숫자키보드 닫기기능추가
$('.keypad .back, .keypad .ok, .back_bg').on('click',function(){
$(".keypad").removeClass('d-block');
});

열고닫고 기능 추가한다음에 끝

사용법은 간단하더라

728x90
반응형
반응형

후 그누보드기반으로 관리자페이지를 만드는데

참 난감? 신선? 한 구간이 있었다

db 테이블별로 날짜칼럼명도 데이터칼럼명도 전부 다른 테이블을

싹 모아서 날짜순 정렬을 해달라는....

그중에 userid는 같아서 그나마 다행이긴했는데

참;

이렇게 저렇게 해보다가

union 해야겟다 결정하고 나서보니

테이블마다 필요한 칼럼갯수가 다 틀린거;

게다가 테이블마다 표출해야할것도달라서 테이블명도 넣어야햇다

아무튼

" SELECT * FROM
(
SELECT id, receiptdate, Complete_id, User_id, reward_ap, 'reward' AS table_name FROM reward
UNION ALL
SELECT id, completedate, Course_id, User_id, '' AS ap, 'complete' AS table_name FROM complete
UNION ALL
SELECT id, visit, Local_id, User_id, '' AS ap, 'stemp' AS table_name FROM stemp
UNION ALL
SELECT id, startDate, Arcontents_id, User_id, '' AS ap, 'arplaylog' AS table_name FROM arplaylog
UNION ALL
SELECT id, date, Local_id, User_id, '' AS ap, 'arphotoplaylog' AS table_name FROM arphotoplaylog
)
AS U where U.User_id = '{$row['id']}' order by U.receiptdate desc "

일단 나온 코드가 이건데

칼럼을 억지로 맞췄다.

아직까지 union은 완벽히 이해는 못한거같다

나중에 한번더 봐봐야지

728x90
반응형
반응형

작업중에 유튜브게시판을쓰고 

기타 유튜브 영상을 끌어오는 작업을할때

동영상링크를 그대로 가져와서 썸네일을 쓰면 무난하지만

영상이 많으면 속도문제가 생긴다

그래서 썸네일만 따로 빼야하는경우, 리스트페이지일경우

추출함수가있길래 써봤다

일단 기본적인 난이도는 쉬움!

함수는 가져와놓고 링크 넣어주면 끝난다

필요한건

유튜브 동영상 ID 와

썸네일 품질형식? 해상도? <- 이게 정해져있더라

일단 함수는

저기 동영상링크부분 youtu.be/ 이후에 나열되는 이상한 문자가 필요하다

그 문자가 바로 동영상 ID

썸네일 주소는 두가지

http://img.youtube.com/vi/동영상ID/이미지형식.jpg

http://i.ytimg.com/vi/동영상ID/이미지형식.jpg

이미지형식이 해상도와 품질쪽인데

- 고품질 (480 x 360) : hqdefault.jpg

- 중간품질 (320 x 180) : mqdefault.jpg

- 보통품질 (120 x 90) : default.jpg

동영상 배경이미지 (480 x 360) : 0.jpg

구간별은 1.jpg , 2.jpg 등으로 설정할수도있다

 

가장 중요한 함수는

그누보드기준 lib.service.php 에 붙여넣어서 사용했다


//유튜브썸네일
if ( ! function_exists('get_youtube_code')) {
    function get_youtube_code($url) { 

        if (empty($url) || !$url) { 
            return;
        } 

        preg_match('@https?://(?:www\.)?youtube\.com/(?:watch\?|\?)[^>]*v[/=]([a-zA-Z0-9-_]+)@', $url, $matches);
        $code = $matches[1];

        if (!$code) { 
            preg_match('@https?://(?:www\.)?youtu\.be/([a-zA-Z0-9-_]+)@', $url, $matches);
            $code = $matches[1];
        }

        return $code;

    } 
}

아래는 적용모습!

728x90
반응형

+ Recent posts