PHP로 POST를 통해 다차원 배열 제출하기
PHPPHP로 POST를 통해 다차원 배열 제출하기
나는 알려진 수의 열 (예 : 상단 지름, 하단 지름, 패브릭, 색상, 수량)을 가지고 있지만 사용자가 필요에 따라 행을 추가 할 수 있으므로 알 수없는 행 번호를 가진 php 양식을 가지고 있습니다.
각 필드 (열)를 가져 와서 자신의 배열에 배치하는 방법을 발견했습니다.
<input name="topdiameter['+current+']" type="text" id="topdiameter'+current+'" size="5" />
<input name="bottomdiameter['+current+']" type="text" id="bottomdiameter'+current+'" size="5" />
그래서 내가 HTML로 끝내는 것은 :
<tr>
<td><input name="topdiameter[0]" type="text" id="topdiameter0" size="5" /></td>
<td><input name="bottomdiameter[0]" type="text" id="bottomdiameter0" size="5" /></td>
</tr>
<tr>
<td><input name="topdiameter[1]" type="text" id="topdiameter1" size="5" /></td>
<td><input name="bottomdiameter[1]" type="text" id="bottomdiameter1" size="5" /></td>
</tr>
...and so on.
지금 내가하고 싶은 것은 모든 행과 열을 다차원 배열에 넣고 그 내용을 클라이언트 (선호하는 형식의 테이블)에 이메일로 보내는 것입니다. 나는 모든 입력과 선택을 좋은 배열로 결합하는 법을 정말로 이해할 수 없었습니다.
이 시점에서 여러 개의 1D 배열을 사용하는 것보다 하나의 2D 배열을 사용하는 것이 더 좋을 것이라는 생각이 들기는하지만 여러 개의 1D 배열을 사용하려고해야합니다.
해결법
-
==============================
1.제출할 때 다음과 같이 배열을 생성합니다.
제출할 때 다음과 같이 배열을 생성합니다.
$_POST['topdiameter'] = array( 'first value', 'second value' ); $_POST['bottomdiameter'] = array( 'first value', 'second value' );
그러나 양식 이름을 다음 형식으로 변경하는 것이 좋습니다.
name="diameters[0][top]" name="diameters[0][bottom]" name="diameters[1][top]" name="diameters[1][bottom]" ...
이 형식을 사용하면 값을 반복하는 것이 훨씬 쉽습니다.
if ( isset( $_POST['diameters'] ) ) { echo '<table>'; foreach ( $_POST['diameters'] as $diam ) { // here you have access to $diam['top'] and $diam['bottom'] echo '<tr>'; echo ' <td>', $diam['top'], '</td>'; echo ' <td>', $diam['bottom'], '</td>'; echo '</tr>'; } echo '</table>'; }
-
==============================
2.당신은 그런 이름으로 모든 매개 변수를 제출할 수 있습니다 :
당신은 그런 이름으로 모든 매개 변수를 제출할 수 있습니다 :
params[0][topdiameter] params[0][bottomdiameter] params[1][topdiameter] params[1][bottomdiameter]
나중에 다음과 같이하면됩니다.
foreach ($_REQUEST['params'] as $item) { echo $item['topdiameter']; echo $item['bottomdiameter']; }
from https://stackoverflow.com/questions/2433727/submitting-a-multidimensional-array-via-post-with-php by cc-by-sa and MIT license
'PHP' 카테고리의 다른 글
php에서 "include"와 "require"의 차이점 (0) | 2018.09.18 |
---|---|
논스를 생성하고 사용하는 방법 (0) | 2018.09.18 |
PHP 로그인 시스템 : Remember Me (영구 쿠키) [duplicate] (0) | 2018.09.18 |
captcha를 사용하지 않고 댓글 스팸 차단 [닫힘] (1) | 2018.09.18 |
PHP 5는 엄격한 표준 오류 해제 (0) | 2018.09.18 |