2012-02-03 3 views
3

동적으로 생성 된 양식을 사용하여 페이지의 내용을 편집하려고합니다. DB 테이블 (이 경우 이미지 캡션)에서 정보를 검색하고이를 편집 할 준비가 된 텍스트 영역에 표시하고 DB에 다시 저장합니다.동적으로 생성 된 양식에서 데이터 검색

이 양식을 조직하고 표시하는 작업해야 할 것 같다

echo"<form action='edit.php' method='post'>"; 
for ($limit;$limit<=$all_values;$limit++) 
    { 
     echo "<textarea cols='15' rows='3' name='caption' value='$caption_arr[$limit]'> 
      $caption_arr[$limit]</textarea><br> 
     } 
     echo "<br><input type='submit' value='Edit' name='pictureEedit'></form>"; 

을하지만 뭔가 여기에서 잘못. edit.php에 다음을 입력하십시오 :

$caption=$_POST['caption']; 
echo $caption; 

그리고 마지막 필드에서만 캡션을 가져옵니다. 폼에 체크 박스를 추가했을 때, 1을 체크했을 때만 괜찮 았지만, 2 이상을 체크하면 마지막 값만 줄 것입니다.

나는이 시도 :

$caption[$x]=$_POST['caption']; 
foreach ($caption as $key => $value) {echo $key.$value.'<br>';} 

를하지만 같은 결과를 얻었다. 양식

name='caption' 

에서

답변

3

name='caption[]' 

그리고 나중에 당신이 할 수있는 상을 수 있습니다

foreach ($_POST['caption'] as $key => $value) {echo $key.'=>'.$value.'<br>';} 
+0

간단하고 감사합니다. – spacitron

+0

호기심 불만. 저장된 필드를 업데이트 할 수있는 방법이 있습니까? 갤러리에 1000 개의 이미지와 캡션이 있고 그 중 하나의 캡션 만 편집하면 내 스크립트가 모든 캡션을 업데이트하게 할 수 있습니까? 아니면 편집 된 것을 처리하는 방법이 있습니까? – spacitron

+0

그러면 어떤 것이 실제로 바뀌 었는지 알아 내야합니다. 따라서 양식에 표시된 모든 항목을 읽고 제출해야하며 제출하면 $ _POST 값을 확인하십시오. – djot

0

당신은 모든 필드에 같은 이름을 사용할 수 없습니다. 당신은 그들 배열을 만들어야합니다. 이것을 사용해보십시오

name='caption[]' 
관련 문제