때때로 양식에 처리해야 할 필드가 많이 있을 수 있습니다. 이런 종류의 데이터를 작성하는 것은 매우 번거롭습니다. 더 간단하고 우아한 방법이 있습니까? 이 문서에서는 배열을 사용하여 대량의 양식 데이터를 빠르고 편리하게 처리하는 방법을 설명합니다. 그것이 모두에게 도움이 되기를 바랍니다.
프로그램 개발 시 양식 일괄 제출 전략에 대하여
양식에 필드가 너무 많은 경우가 많습니다. 양식 필드를 효율적으로 얻으려면 어떻게 해야 할까요?
예를 들어 시스템에 26개의 필드가 있는 경우 양식 이름에 a부터 z까지 26개의 문자를 사용합니다.
e4e607e40a4090ab921dae8177835388를 선택합니다. < ;input type="text" name="a">,...,b52115e0c5f60dd3e17ec2da978fcf82
그런데 이 경우 일괄적으로 데이터 삽입을 하면 그렇게 간단하지는 않을 텐데,
삽입이나 편집 작업이 이런 문장이 되기 때문에 특히 이렇게 고통스럽게 긴 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!