2014-01-23 3 views
-1
양식 항목의 내 양이 알려져 있지 않기 때문에 나는 foreach는 동작을 사용할 필요가

은 내 양식은 다음과 같습니다여러 개의 foreach?

<form> <Input type="hidden" Name="id[]" value="<?php echo $id, ?>"> <Input type="text" Name="text[]" > <Input type="text" Name="text2[]"></form>

제출하지 $ _POST

그리고 이후 페이지는해야 수행

(foreach) (SQL) "Update table SET text=$text[], text2=$text[] WHERE id = $id[]"

방법이가 해결 될 수 있는가? 양식이 같은 포맷 된 경우

+0

루프를 사용 하시겠습니까? 너 뭐 해봤 니? – David

답변

0

, 당신은 같은 것을 할 수있는 : 더 나은

foreach($_POST['id'] as $i => $id) { 
    $query = 'UPDATE `table` SET `text` = "'. $_POST['text'][$i] .'", `text2`="'. $_POST['text2'][$i] .'" WHERE `id` = '. $id; 
} 

을; html로 다차원 배열을 보내지 만 직접 색인을 추가해야합니다. 이미 ID를 가지고 있기 때문에, 당신은 인덱스로 하나를 사용할 수 있습니다

<form> 
    <input type="text" name="item[<?php echo $id; ?>]['text']"> 
    <input type="text" name="item[<?php echo $id; ?>]['text2']"> 
</form> 

그런 다음 당신은 그냥 항목을 foreach는 할 수

foreach($_POST['item'] as $id => $values) { 
    $query = 'UPDATE `table` SET `text` = "'. $values['text'] .'", `text2` = "'. $values['text2'] .'" WHERE `id` = $id"; 
} 

하는 것처럼 SQL 주입에 예방을 추가해야합니다! !

+0

그리고 내가 할 :'id' = " '. $ 값 ['id '].'"이 맞습니까? – HKK

+0

아니요, 실제로 ID는'$ id' 변수에 있지만 숨겨진 입력 필드를 추가 할 수는 있습니다 (쓸모가 없습니다). ' ' – giorgio

+0

하지만 업데이트가 필요합니까? SQL을 어디에서 만들어야합니까? – HKK

-1
foreach($_POST as $key => $val) { 
    echo "KEY: ".$key." VAL: ".$val."<br>"; 
} 

이렇게하면 모든 $ _POST 키와 값이 인쇄됩니다.

거기에서 진술에 추가하십시오.

+0

이 질문을 잘못 이해했을 수도 있습니다. – user2537383

관련 문제