때때로 양식에 처리해야 할 필드가 많이 있을 수 있습니다. 이런 종류의 데이터를 작성하는 것은 매우 번거롭습니다. 더 간단하고 우아한 방법이 있습니까? 이 문서에서는 배열을 사용하여 대량의 양식 데이터를 빠르고 편리하게 처리하는 방법을 설명합니다. 그것이 모두에게 도움이 되기를 바랍니다.
프로그램 개발 시 양식 일괄 제출 전략에 대하여
양식에 필드가 너무 많은 경우가 많습니다. 양식 필드를 효율적으로 얻으려면 어떻게 해야 할까요?
예를 들어 시스템에 26개의 필드가 있는 경우 양식 이름에 a부터 z까지 26개의 문자를 사용합니다.
를 선택합니다. < ;input type="text" name="a">,...,
그런데 이 경우 일괄적으로 데이터 삽입을 하면 그렇게 간단하지는 않을 텐데,
삽입이나 편집 작업이 이런 문장이 되기 때문에 특히 이렇게 고통스럽게 긴 SQL 문자열은 더욱 비참합니다.
$sql="INSERT kele_table(a,b,……,z) value(a='$a',b='$b',……,z='$z')";//这样写很长铁牛用省略号标示 $sql="UPDATE SET kele_table(a='$a',b='$b',……,z='$z') where id=$id";
문자열이 너무 길어서 이렇게 작성하면 답답합니다
다음 방법을 사용하는 것이 더 좋습니다.
포인트 1: 제출된 양식 필드 전체에 배열 모드를 사용하세요.
<input type="text" name="setting[a]">,……,<input type="text" name="setting[z]">
포인트 2:
PHP 백그라운드 프로그램은 POST
포인트 3:
양식 필드 표시 삽입
$fields=array('a','b',……,'z');//这个是特意设置校验字典,校验提交的字段是否存在 foreach($setting as $k=>$v) { if(in_array($k, $fields)) { $sqlk .= ','.$k; $sqlv .= ",'$v'"; } } $sqlk = substr($sqlk, 1); $sqlv = substr($sqlv, 1); $sql="INSERT INTO kele_table ($sqlk) VALUES ($sqlv)";
양식 필드 표시 업데이트
$sql = ''; foreach($setting as $k=>$v) { if(in_array($k, $fields)) $sql .= ",$k='$v'"; } $sql = substr($sql, 1); $sql="UPDATE kele_table SET $sql WHERE id=$id";
관련 권장 사항:
위 내용은 PHP가 수많은 양식 필드를 편리하게 처리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!