테스트 사이트 - 개발 중인 베타 버전입니다

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

예서제이 2년 전 조회 2,372

</p>

<p>

$alls = " select count(*) as allcount from g5_write_test";

$results = sql_query($alls, true);

while ($rows = sql_fetch_array($results)) {</p>

<p>    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)) {</p>

<p>            $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); </p>

<p>            sql_query("update g5_write_test    set wr_11 = '$set_wr11' where wr_id = '$j'");</p>

<p>        }

    }

}</p>

<p>

 

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

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

 

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

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

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

 

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

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

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

 

에러가 나네요..

 

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

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

답변 2개

채택된 답변
+20 포인트
유찬아빠

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

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

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

 

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

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

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

n
2년 전

추가 피해자 방지 https://sir.kr/conflictconsultation/245" rel="nofollow noreferrer noopener" target="_blank">https://sir.kr/conflictconsultation/245

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

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

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

로그인