2026, 새로운 도약을 시작합니다.

배열 바꾸기 쿼리문 질문드립니다. 채택완료

Copy




$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개

채택된 답변
+20 포인트

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

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

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

추가 피해자 방지 https://sir.kr/conflictconsultation/245

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고