배열 바꾸기 쿼리문 질문드립니다.

배열 바꾸기 쿼리문 질문드립니다.

QA

배열 바꾸기 쿼리문 질문드립니다.

답변 2

본문



$alls = " select count(*) as allcount from g5_write_test";
$results = sql_query($alls, true);
while ($rows = sql_fetch_array($results)) {
    for($j=1; $j < $rows[allcount]; $j++){
        $sql = "
        select wr_11
        from g5_write_test
        where wr_id = '{$j}'
        ";
        $result = sql_query($sql, true);
        while ($row = sql_fetch_array($result)) {
            $wr11 = explode('||',$row['wr_11']);
            $count = count(explode('||',$row['wr_11']));
            for($i=0; $i < $count; $i++){
                if ($wr11[$i] == "사과/딸기") {
                    $wr11[$i] = "사과/딸기/포도";
                } else {
                    $wr11[$i] = $wr11[$i];
                }
                $order_value[] = $wr11[$i];
            }
            $set_wr11 = implode('||', $order_value); 
            sql_query("update g5_write_test    set wr_11 = '$set_wr11' where wr_id = '$j'");
        }
    }
}

 

wr_11에 사과/딸기||수박/호박||상추/깻잎/시금치

와 같이 입력되어 있습니다.

 

여기에 사과/딸기를 사과/딸기/포도로 바꾸고자 합니다.

사과/딸기/포도||수박/호박||상추/깻잎/시금치

와 같이 모든 게시글을 변경할려고 합니다.

 

그냥 쉽게 생각해서 모든게시글의 개수를 구해서

해당 개수만큼 for문을 돌려서 그 안에서 wr_11의 배열만큼 또 for문을 돌려서

변경하면 되겠다.. 싶었었는데

 

에러가 나네요..

 

어떻게 수정을 해야 할까요?

이 질문에 댓글 쓰기 :

답변 2

wr_11에 사과/딸기||수박/호박||상추/깻잎/시금치

와 같이 입력되어 있습니다.

이렇게 입력되어 있다면 mysql replace 라는 함수가 있습니다.

 

update 바꿀테이블 set wr_11 = replace(wr_11,'사과/딸기||' , '사과/딸기/포도||'); 이렇게 한번에 바꿀 수 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #html ×
전체 1,125
© SIRSOFT
현재 페이지 제일 처음으로