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

배열 array 분리방법 문의드립니다. 채택완료

현재 아래와같이 array를 DB에 저장하려고하는데 {n}_test, {n}_date, {n}_date, {n}_desexing는 다른 테이블에 따로 저장하려고하는데 어떻게 하면 좋을지 조언 구해봅니다.. ㅜㅜ

* 초록색은 초록색 테이블에, 주황색은 주황색끼리 저장

* _test, _date, _gender, _desexing은 0~n 이 생성될 수 있습니다.

Array
(
    [w] => u
    [url] => %2Fbbs%2Fregister_form.php
    [mb_tel] => 01012341234
    [mb_email] => test@test
    [agree] => on
    [agree2] => on
    [0_test] => 이름1
    [0_date] => 2025-02-04
    [0_gender] => male
    [1_test] => 이름2
    [1_date] => 2025-02-05

    [0_gender] => female
    [2_test] => 이름3
    [2_date] => 2025-02-26
    [2_gender] => male
    [2_desexing] => on
)

답변 3개

채택된 답변
+20 포인트

다음 코드가 도움이 될지 모르겠습니다.

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

답변에 대한 댓글 1개

감사합니다! 많은 도움이 되었습니다 ㅠㅠ

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

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

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

w값이 u라는 것은 insert가 아니라 update를 사용해야하는 것 같은데 조건이 없으니

insert 예는 다음처럼...

어떤 필드에 어느 값을 넣을 것인지 설명이 없으니 필드명과 넘어온 변수명이 같다는 가정하에

굳이 배열에 담을 필요는 없을 듯 하군요

배열에 넣으려면 $qry1, $qry2 대신 $arr1[$key] = $value; $arr2[$key] = $value; 

  ksort($_POST);
   $qry1 = $deli1 = $qry2 = $deli2 = '';
    foreach( $_POST as $key=>$value){
       if($key=='w') continue;
       if( $key =='url' ||  $key=='mb_tel' || $key=='mb_email' || $key=='agree' || $key=='agree2' ){
           $qry1.=$deli1. "$key='$value'; $deli1=',';
       }else{ $qry2.=$deli2. "$key='$value'; $deli2=','; }
    }
      sql_query("insert into table1 set $qry1");
      sql_query("insert into table2 set $qry2");

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

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

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

로그인
🐛 버그신고