2011-11-25 4 views
1

에서 HTML 테이블 데이터 I가 HTML 형식에서 같은 테이블이있는 경우, 액세스 PHP

<form method="POST" action="a.php"> 
<table name="dataTable"> 
<tr> 
    <td>row one col one</td> 
    <td>row one col two</td> 
    <td>row one col three</td> 
</tr> 
<tr> 
    <td>row two col one</td> 
    <td>row two col one</td> 
    <td>row two col one</td> 
</tr> 
</table> 
</form> 

가 어떻게 양식이 p.php에 제출되는 테이블 데이터에 액세스 할 수 있습니까? 구글에서 키워드로 주제를 사용하여

$dataList = $_POST['dataTable']; ??????? 
+2

죄송하지만 테이블이 폼 요소가 아닙니다. PHP로만 테이블 데이터를 가져올 수는 없습니다. 거기에 jQuery가 필요합니다. – Fredrik

+0

아니요! 너는 사용할 수 없다. – adatapost

답변

3

직접적인 작업은 주위의 모든 세포에 숨겨진 필드를 추가하는 것입니다 :

<form method="POST" action="a.php"> 
<table name="dataTable"> 
<tr> 
    <td>row one col one<input type="hidden" name="row_one_cell_one" value="row one col one" /></td> 
    <td>row one col two<input type="hidden" name="row_one_cell_two" value="row one col two" /></td> 
    etc... 

그것은 변하지보기를 잎하지만이 간단한 코드를 사용하여 PHP 스크립트에서 세포를 액세서 수 있습니다

$cellData = $_POST['row_one_cell_one']; 
1

아무런 회피 및 변환을 수행하지 않아도됩니다. 숨겨진 입력 결과를 제출하고 결과를 설정하기 전에 자바 스크립트를 사용하여 직렬화 된 배열에서 표를 변환하면됩니다. 그런 다음 PHP에서 값을 읽고 배열을 직렬화 해제하여 모든 값을 가져올 수 있습니다. 올바르게 처리하면 행과 열을 반복 할 수도 있습니다. 당신은 테이블 DOM을 렌더링하기 위해 자바 스크립트를 사용할 수있다

1

,
하고 제출을 직전에 숨겨진 필드로 설정이
때문에, 해석 할 수 PHP는 $_POST

<form method="post" onSubmit="set_value()"> 
<table name="dataTable"> 
... 
</table> 
<input type="hidden" value="" id="hidden_table" name="hidden_table" /> 
</form> 
<script> 
function set_value() 
{ 
    var obj = document.getElementById("hidden_table"); 
    var tbl = document.getElementsByName("dataTable")[1] 
    obj.value = tbl.innerHTML; 
} 
</script> 
의 일부입니다 자바 스크립트 DOM을 사용하는 경우

그러나, 그것은
는 등 THEAD, TBODY를 포함 ... 표 요소의 전체 사양을 반환합니다