2015년 11월 3일 화요일

mysql replacement 사용법


update 테이블명
set   컬럼명 = replace( 컬럼명, '치환할문자열A', '치환할문자열B' )
where 컬럼명  like '%문자열%';

치환하기전에 테스트로 한번 select 해볼수도있다.

select Replace(컬럼명,  '치환할문자열A', '치환할문자열B' )
AS 'replace_data'
from 테이블명;


2015년 11월 2일 월요일

laravel5   노트북 -> 서버로 이전 작업

디비 옮기고 프로그램도 옮겼다.

주소 때려보면 흰화면에 500 server error


1.우선 키를 생성해야하고  ->  php artisan key:generate

2. sudo chmod 777 storage , vendor


짜잔 다시나온다!!


2015년 10월 20일 화요일

잠깐 중간점검

현재 대여중인 도서목록은 ?

Amazon 관련 서적.  : api 공부하기 위해 빌렸으나 아직 한자도 못봄
영어는 인도식으로  : 대략적으로 훑어보았다.  책이 스스로 광고하는내용이 40%넘는다.
                                   3단어 sound, find, give로 영어를 쉽게 구사하라는 내용이다.

객체지향의 오해     :전에 학원가는길 집에오는길 간간히 읽고 매우 흡족해한 책이다.
                                 다시빌렸으나 아직 한자도 못봄
일본인들이 자주쓰는 표현 : 취미삼아 일본어 공부를 해볼까 해서 빌려본책. 한바닥만 읽어봤다.



현재 공부해야하는 기술은?
laravel : laracast를 통해 하루에 3개이상의 영상을 볼생각이다
angularjs : 관리자 페이지를 심화하기 위해서는 앵귤러기술을 현재 만들고 있는 페이지에 접목하면 좋을거같다는생각이 지난주부터 들어서 동영상이라든가 서적을통해 공부하는게 좋을것같다.

현재만들고있는 페이지의 모듈 부분부분 마다 앵귤러 프레임워크를 사용하면 어떨까 라는 생각이 자주든다.

뒷단은 전부  라라벨 앞단은 전부 앵귤러 이런식으로 가면 심각한 노가다가 예상된다.

javascript 함수는 찾는데 실행이 안될때

말그대로 자바스크립트 함수는 찾는데 실행이 안되는때가 있었다. 언제? 오늘 1시간정도 전에

$("#ID").on("change", function(){


});

상단에 머 이런 이벤트 핸들러는 잘 동작하는데

 function check_***(){


};

function delete_***(){

}

이런 함수가 있었고

html에서는 a 태그의 href="javascript:delete_***();" 이런식으로 호출을 했었는데
함수는 찾는다 그러니까 undefined이런 에러는 뿜지 않는데 실행이 안되는거다.

묵묵 부답 분명히 상단의 이벤트는 잘동작하는데
다른 함수를 만들어봐도 실행은 안되고 검색만 2시간 가량 하다가 브라우저의 캐시를 날려보니

잘되더라....

장난하니? 자바스크립트는 디버깅도 쉽지않은데 (f12키 를 누르면 나오는 개발자모드는 있지만)
이런경우는 찾기 쉽지가 않다.

정작 해야할일은 산더미인데 이렇게 자바스크립트가 안되는 문제로 발목을 잡히면  ㅠㅠ



2015년 10월 16일 금요일

2015년 10월 14일 수요일

laravel 흔한 에러 메시지 preg_replace(): Parameter mismatch, pattern is a string while replacement is an array

preg_replace(): Parameter mismatch, pattern is a string while replacement is an array

위에 에러메시지를 보면  helper의 671라인?  어찌됐든  replace 함수를 가르키며
패턴은 문자열인데 리플레이스먼트는 배열이라는 알수없는 소리를 한다.

어쨋든 어떤상황이냐면

 Add products에서  밑의 + 버튼을 누르면 제품이 계속 추가되는 상황이고 해당 input에는
product_name[]이라는  배열을 추가 추가 추가 하는 그런 매우 흔한 (?) 화면이다

추가된 값을 mysql안에 넣어야되는데 그럼 컨트롤러 내부에서 implode(",", array) 이런식으로
문자열화해서 넣을 예정이었다. 그런데 위의 에러가 나온거

뭔가 라라벨 프레임워크 내부적으로 나의 뻘짓을 감지하고 뻘짓하지 말라고 에러를 뿌리나보다 하고 관련 글들(대부분 영어)을 거진 2시간 가까이 읽고 읽고 뭐가 문제지 하면서 안굴러가는 머리 굴려보아도 당췌 알수없는것들뿐

알고보니 컨트롤러 내부에서  product_name을 두번 이나 저장하고 있었다.

$order->product_name =  implode(",", array)

.....

$order->product_name = get::input('product_name');

이런식으로 앞으로는 문제가 발생하면 원인부터 자세하게 살피고 뻘짓을 해야겠다.

내 두시간 어쩔거냐!

2015년 10월 13일 화요일

동적인 테이블 tr 추가하기

좋은 소스가 있어서 참고용으로 저장합니다

출처 :  http://stove99.tistory.com/93

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js" type="text/javascript"></script>
     
    <script type="text/javascript">
        $(document).ready(function(){
            // 옵션추가 버튼 클릭시
            $("#addItemBtn").click(function(){
                // item 의 최대번호 구하기
                var lastItemNo = $("#example tr:last").attr("class").replace("item", "");
                var newitem = $("#example tr:eq(1)").clone();
                newitem.removeClass();
                newitem.find("td:eq(0)").attr("rowspan", "1");
                newitem.addClass("item"+(parseInt(lastItemNo)+1));
                $("#example").append(newitem);
            });
            // 항목추가 버튼 클릭시
            $(".addBtn").live("click", function(){
                var clickedRow = $(this).parent().parent();
                var cls = clickedRow.attr("class");
                // tr 복사해서 마지막에 추가
                var newrow = clickedRow.clone();
                newrow.find("td:eq(0)").remove();
                newrow.insertAfter($("#example ."+cls+":last"));
                // rowspan 조정
                resizeRowspan(cls);
            });
             
             
            // 삭제버튼 클릭시
            $(".delBtn").live("click", function(){
                var clickedRow = $(this).parent().parent();
                var cls = clickedRow.attr("class");
                 
                // 각 항목의 첫번째 row를 삭제한 경우 다음 row에 td 하나를 추가해 준다.
                if( clickedRow.find("td:eq(0)").attr("rowspan") ){
                    if( clickedRow.next().hasClass(cls) ){
                        clickedRow.next().prepend(clickedRow.find("td:eq(0)"));
                    }
                }
                clickedRow.remove();
                // rowspan 조정
                resizeRowspan(cls);
            });
            // cls : rowspan 을 조정할 class ex) item1, item2, ...
            function resizeRowspan(cls){
                var rowspan = $("."+cls).length;
                $("."+cls+":first td:eq(0)").attr("rowspan", rowspan);
            }
        });
    </script>
</head>
<body>
<button id="addItemBtn">옵션추가</button>
<table id="example" border="1px">
        <tr>
            <th>옵션명</th>
            <th>항목명</th>
            <th>필수항목</th>
            <th>가격</th>
            <th>재고</th>
            <th>옵션추가</th>
        </tr>
        <tr class="item1">
            <td><input type="text" /><button class="addBtn">항목추가</button></td>
            <td><input type="text" /></td>
            <td><input type="checkbox" /></td>
            <td><input type="text" /></td>
            <td><input type="text" /></td>
            <td><button class="delBtn">삭제</button></td>
        </tr>
        <tr class="item2">
            <td><input type="text" /><button class="addBtn">항목추가</button></td>
            <td><input type="text" /></td>
            <td><input type="checkbox" /></td>
            <td><input type="text" /></td>
            <td><input type="text" /></td>
            <td><button class="delBtn">삭제</button></td>
        </tr>
        <tr class="item3">
            <td><input type="text" /><button class="addBtn">항목추가</button></td>
            <td><input type="text" /></td>
            <td><input type="checkbox" /></td>
            <td><input type="text" /></td>
            <td><input type="text" /></td>
            <td><button class="delBtn">삭제</button></td>
        </tr>
        <tr class="item4">
            <td><input type="text" /><button class="addBtn">항목추가</button></td>
            <td><input type="text" /></td>
            <td><input type="checkbox" /></td>
            <td><input type="text" /></td>
            <td><input type="text" /></td>
            <td><button class="delBtn">삭제</button></td>
        </tr>
</table>
</body>
</html>