개발

[php] strpos(), strrpos(), in_array() 특정 문자열 검색하기

strpos()와 strrpos() 함수는 strstr()과 유사한 방식으로 동작한다. 하지만 strpos()의 실행 속도가 더 빠르기 때문에 strstr()대신 strpos()의 사용을 권장한다고 한다. 문장이나 특정 변수에서 특정 문자가 있는지 체크하려면 strpos(), strrpos() 함수를 사용하면 된다. strpos([대상 문자열], [조건 문자열]) strpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)]) strrpos([대상 문자열], [조건 문자열]) strrpos([대상 문자열], [조건 문자열], [검색시작위치(숫자)]) 둘의 차이는 strpos 함수는 영문자의 대소문자를 구별하여 검색한다. 영문자 대소문자를 구별하지 않고 검색하려면 strrpos()함수를 사용하면 ..

[jQuery] jquery ui를 이용한 tooltip 커스터마이징 (툴팁 배경색, 글자색 변경)

회원가입이나 폼 입력시에 해당 항목에 대한 상세한 설명이 필요한 경우, 상세하게 설명을 넣을수도 있지만 필요에 따라 볼 수 있게 툴팁으로 안내가 가능하다. 생일 옆에 느낌표 아이콘에 마우스를 대보면 해당 항목에 대한 상세 설명을 툴팁으로 띄워준다. 툴팁의 배경색상이나 폰트 컬러도 변경가능하다. jquery ui 파일 로드 일단 관련된 jquery ui파일을 로드한다. html 툴팁이 나오게할 아이콘 또는 요소를 넣는다. 툴팁 설명은 title=""안에 넣으면 된다. 여기서는 Font Awesome 을 활용하였는데, 꼭 Font Awesome이 아니더라도 input, img 등 다양하게 활용이 가능하다. 스크립트 삽입 위에 넣은 툴팁 아이콘 클래스명을 알맞게 넣어주고 tooltip() 스크립트를 넣어주면 ..

[jQuery] 스크롤 따라다니는 퀵메뉴 만들기

예전에 한 때 홈페이지에 항상 퀵메뉴가 있던 시절이 있었는데, 없어지는 듯 하다가 요새 다시 보이는 듯 하다. 아무래도 쇼핑몰이나 고객의 요구에 빨리 응해야하는 사이트에서는 퀵메뉴가 필수불가결한 요소인 것 같다. 보통 오른쪽에 완전히 고정해두는 형태(position:absolute)로 넣을 수도 있지만 완전 고정해두면 좀 유연성이 없어보이고(?) 너무 큰 사이즈로 넣는다면 사이트의 다른 구성요소보다 더 이목이 집중되는 느낌... 요새는 아래처럼 작은메뉴를 만들어 스크롤 내릴때 마다 부드럽게 따라오는 형태로 많이 사용하는 것 같다. jquery를 활용하면 부드럽게 따라오는 메뉴를 만들 수 있다. 일단 결과물은 아래 HTML 퀵메뉴를 구성하고 클래스값(quickmenu)이나 아이디를 지정한다. 등급별혜택 1..

[카페24] 상품 목록 페이지 가격 세자리마다 콤마, 화폐단위 나타내기

간혹 스킨을 편집하다 보면 가격이 제대로 표기가 안되는 경우가 있다. 이 경우 스마트디자인 편집 창에 들어가서 product > detail.html 파일을 수정해주어야한다. {$product_price}을 찾아서 {$disp_product_price} 로 변경해주기만 하면 끝! detail.html 파일안에 여러군데에 {$product_price}가 있는데 모두 찾아서 바꿔주면 된다. 주의할 점은 앞 부분의 {$product_price_display|display}는 $disp_를 추가하지 않고 그대로 두어야 한다는 점! {$disp_product_price} [적용 결과] 세자리마다 콤마가 찍히고 화폐단위(원)이 같이 나오게 된다.

[jquery] attr()을 활용하여 속성 변경하기

placeholder="아이디를 입력하세요">이런식으로 태그에 직접 속성을 지정해주면 간단하지만 간혹 직접 지정이 어려운 경우가 있다. ex) 카페24에서는 자체 모듈(변수)로 회원가입 인풋항목을 생성하기 때문에 인풋 태그 안에 placeholder를 직접 지정해줄수가 없다.또는 제이쿼리 스크립트에 따라 속성이 추가되거나 삭제되어야하는 경우 등  이런 경우 아래의 스크립트를 넣어 해결이 가능하다.$( document ).ready( function() { $("input#member_id").attr("placeholder", "아이디를 입력하세요");}); 그러면 직접 placeholder="아이디를 입력하세요"를 넣지 않고도 동일한 결과를 얻을 수 있다.  attr()의 다양한 활용 방법제이쿼리의..

[php] sql 구문으로 테이블 값 가져오는 방법

기본 sql 구문 $sql = " select * from 테이블명 where wr_is_comment = '0' and wr_id = '{$view['wr_id']}' "; $row = sql_query($sql); 이 기본 구문은 배열로 보여주기 때문에 보통 for 문과 함께 많이 사용한다. 아래와 같이 for문과 함께 사용하면 해당되는 값을 모두 불러온다. [for문과 함께 사용 예시] $sql = " select * from 테이블명 where wr_is_comment = '0' "; $result = sql_query($sql); for ($i=0; $row=sql_fetch_array($result); $i++) { echo $row['id']; } where 조건절에 해당하는 값이 딱 한개만..

[php] sql 쿼리 반복문으로 데이터를 불러오는 여러가지 방법 (for문, while문)

어떤 코드를 반복적으로 사용할 때 for문과 while문을 많이 사용한다. for문 vs. while문의 차이점은 for문은 반복 횟수가 정해져있을 때 주로 사용하고, while문은 반복 횟수가 정해져있지 않고, 값이 있는 만큼 계속 반복해서 보여줄 때 사용한다. for문 예시 sql문 + for문 보통 이 경우는 sql 조건문에 해당하는 자료 갯수 구해서 갯수만큼 뿌려오도록 하는데 아래 처럼 모두 나오게 할 수도 있다. while문 예시 sql문 + while문

[php] 그누보드 보안 SSL 적용 (https 강제 리다이렉션하기)

보안SSL이란? SSL이란 Security Socket Layer의 약자로 Netscape에서 웹서버(웹사이트)와 사용자PC(브라우저)간의 주고 받는 데이터의 암호화/보안을 위해 만든 프로토콜. 보안서버가 구축된 웹서버는 해커가 중간에 데이터를 가로채더라도 데이터가 암호화 되어있어 개인정보 노출을 막을 수 있다. 이제는 보안서버가 선택이 아니라 필수가 된 것 같다. 보안서버를 적용하지 않으면 크롬에서는 아예 주의요함이라고 뜬다..;; 호스팅사에 보안SSL 구축 신청을 한 뒤 셋팅이 완료되면 그누보드에서는 몇군데 설정만 변경해주면 바로 보안 서버 적용이 가능하다. 아래의 방법은 사이트 전체에 보안 SSL를 적용하는 방법이다. 1. 기본 도메인 변경하기 copnfig.php 파일 에서 G5_DOMAIN, G..

[php] ajax를 활용하여 좋아요 버튼 만들기

각 상품별 상품 사용 리뷰마다 좋아요 버튼을 추가하는 작업을 하였다. 좋아요 버튼 클릭시 페이지 이동을 하지 않고 그 자리에서 바로 좋아요 숫자가 변경되고, 채워진 하트로 바뀌고, 다시 클릭했을 때는 좋아요 숫자가 -1 감소되고, 다시 빈 하트로 보여주기 위해서 ajax를 활용하였다. 1. 좋아요 테이블 생성 먼저 좋아요 기능에 필요한 테이블을 하나 추가하고, 필드를 추가한다. rg_id : 좋아요 데이터 아이디 it_id : 상품 id (상황에 따라 생략가능) is_id : 상품평 아이디 (상황에 따라 생략가능) mb_id : 회원아이디 rg_datetime : 좋아요 누른 시간 2. 좋아요 버튼을 넣을 자리에 추가 상품 후기를 여러개를 불러오기 때문에 btn_like버튼 아이디 값에 각각의 고유 번호..

[php] explode 배열 값 있는 것만 콤마로 구분해서 보여주기

체크박스를 통해서 값을 받고 | 를 구분자로 배열로 저장하는 작업을 했다. 값을 저장하는 것 까지는 문제가 없는데, 값이 있는 경우만 불러오고 콤마로 깔끔하게 보여주는 방법을 고민해보았다. 예를 들어 아래와 같이 체크박스를 통해서 값을 받았다고하자. 좋아하는 과일을 선택하세요(중복선택가능) □사과 □배 □포도 □복숭아 □망고 사과 배 포도 복숭아 망고 | 로 구분해 값을 각각 저장하는 경우에 $fruit = "$fruit1|$fruit2|$fruit3|$fruit4|$fruit5" 와 같은 형식으로 값을 저장하게 될 것이다. 좋아하는 과일을 선택하세요.(중복선택가능) ▣사과 □배 □포도 ▣ 복숭아 □망고 예를들어 사과와 복숭아만 선택한 경우, $fruit 의 저장된 값은 사과|||복숭아|| 중간에 값이 ..

[jQuery] 일정 시간이 지나면 자동으로 넘어가는 탭

https://hongpage.kr/16 [jQuery] 기본 탭 소스 유용하게 많이 사용하는 기본 jquery 탭 html부분 탭1 탭2 탭3 탭1내용 탭1내용 탭3 탭을 추가하는 경우 1) 사이에 를 추가하고 탭4 탭5 2) 클릭시 나올 컨텐츠 부분도 추가하면된다. 탭4 내용 hongpage.kr 지난번 올린 기본 탭 소스 포스팅은 탭 메뉴를 클릭 했을 때 내용이 바뀌는 방식이었다. 이 코드는 기본 탭 코드와 동일하게 탭 메뉴를 클릭했을 때 내용이 바뀌는 방식 뿐만아니라 auto switch 를 활용해서 탭 메뉴를 클릭하지 않아도 일정시간이 지나면 다음 탭으로 넘어가는 코드이다. 다른 것은 동일하고 스크립트만 변경하면 된다. 탭 넘어가는 속도는 3000 숫자를 조정하면 된다.

[jQuery] 디바이스 크기별로 jquery 스크립트 다르게 불러오기 (반응형)

홈페이지가 반응형인 경우, 디바이스 크기별 jQuery 스크립트를 다르게 불러와야하는 경우가 종종있다. 같은 슬라이더를 쓰더라도 PC버전과 Mobile 버전의 속성을 다르게 할 수도 있는데 아래와 같이 윈도우 가로 사이즈에 따라서 스크립트를 다르게 불러 올 수 있다. 예시코드 $(window).resize(function(){ if (window.innerWidth > 480) { // 다바이스 크기가 480이상일때 /* 스크립트내용*/ } else { /* 스크립트내용*/ } }).resize(); 화면이 리사이즈 될 때마다 조건에 맞는 스크립트를 불러 오게 된다.

[jQuery] 기본 탭 소스

유용하게 많이 사용하는 기본 jquery 탭 html부분 탭1 탭2 탭3 탭1내용 탭1내용 탭3 탭을 추가하는 경우 1) 사이에 를 추가하고 탭4 탭5 2) 클릭시 나올 컨텐츠 부분도 추가하면된다. 탭4 내용 탭5 내용 rel값고, id만 동일하게 넣어주면 된다. 스크립트 $(function () { $(".tab_content").hide(); $(".tab_content:first").show(); $("ul.tabs li").click(function () { $("ul.tabs li").removeClass("active").css("color", "#555"); $(this).addClass("active").css("color", "#fff"); $(".tab_content").hide() v..