[김성민]님이 남기신 글:
><form name="form" action="ss.html"
method="post">
>1 : <input type="text" name="tel[]"><br>
>2 : <input type="text" name="tel[]"><br>
>3 : <input type="text" name="tel[]"><br>
><input type="submit" value="전송">
></form>
>
>## ss.html ##
>echo ("$tel[0]");
>echo ("<br>");
>echo ("$tel[1]");
>echo ("<br>");
>echo ("$tel[2]");
>echo ("<br>");
>
>여기까지는 알겠는데, $tel[0]~$tel[2] 까지를 db 에 넣을때는
telephone 이라는 필드 하나에
>넣을려고 합니다.
>db 에 넣을때 011-0000-0000 과 같이 - (하이픈)을 같이 넣고자
하는데 모르겠습니다.
>배열로 넘어온것을 하나의 필드에 넣으면서 배열 하나끝에 -
를 붙일수 있는 방법을 알려 주시면 감사하겠습니다.
========================================
우선 넘어값이 유효한지 체크가 되었다면,
간단하게,
$phone = $tel[0].'-'.$tel[1].'-'.$tel[2];
or
$phone = "$tel[0]-$tel[1]-$tel[2]";
or
$phone = implode('-',$tel); // 단, 각 원소가 숫자형이 아닌
문자열이어야 함
이렇게 문자열을 구성하면 됩니다.
$phone 변수는 모두 동일한 결과이므로 편한방법대로 쓰세요.
$phone 변수를 DB 에 넣으면 됩니다.
아니면, DB 에 넣을때,
$sql = "INSERT INTO ... VALUES (..,'$tel[0]-$tel[1]-$tel[2]',....)";
이렇게 해도 됩니다.
꺼내와서 어떤 수정폼에 각각 배치하고 싶다면,
implode() 함수 대신 explode() 함수를 사용하면 됩니다.
DB에서 가져온 문자열 변수가 $phone 이라면,
$tel = explode('-',$phone);
이렇게 조각내면,
$tel[0] = '011';
$tel[1] = '0000';
$tel[2] = '0000';
이와 같이 $tel 배열이 자동으로 만들어집니다.
|