2017-11-15 5 views
0

저는 PHP에 익숙하지 않습니다. 제가 작업하고있는 프로젝트는 FileMaker 데이터베이스에 다시 작성하는 codeigniter PHP 양식입니다.확인란 항목을 사용하여 목록을 만드는 방법

확인란은 목록 입력란으로 채워야합니다.

여기에 약 7 체크 박스가 있습니다 내 양식

<input name="fieldname[]" value="value1"<?php echo (set_checkbox('fieldname', $join->fieldname))?> type="checkbox" class="form-check-input"> value1 
<input name="fieldname[]" value="value2"<?php echo (set_checkbox('fieldname', $join->fieldname))?> type="checkbox" class="form-check-input"> value2 

입니다.

foreach 루프를 FileMaker의 필드로 생각하게하려면이 루프를 설정해야한다고 가정합니다.하지만이를 수행하는 방법은 확실하지 않습니다.

배열을 제거하면 마지막으로 선택한 배열이 레이아웃으로 이동합니다.

도움이 될 것입니다.

+0

'$ _POST [ 'fieldname']'배열을 처리하는 현재 코드를 포함하십시오. 예, foreach 루프를 사용하십시오. foreach 루프를 작성하는 방법을 모르는 경우에는이 질문을 삭제하고 근본적인 연구를 수행하는 것이 좋습니다. 그리고 마지막으로 우리는 의도 한 결과가 무엇인지 알지 못합니다. "배열을 빼앗아 가면"'fieldname []'을'fieldname'으로 바꾼다면, 값을 덮어 쓰고 최종 값만을 보존 할 것입니다. 참고 - 귀하의 질문은 명확하지 않거나 너무 광범위하게 종료 될 수 있으며 코딩 시도가없는 경우에는 하향 회선을받을 수 있습니다. – mickmackusa

+0

죄송합니다. 프로젝트에 들어가서 관련성이있는'$ _POST '부분을 확신 할 수 없습니다. 필드 세트 전체 (약 150 개)가 배열에 배치되고 FileMaker 명령이 보내지고 해당 필드에 데이터가 배치됩니다. 'foreach' 루프에 관해서는, 모든 체크 박스 옵션을리스트에 연결하는 최선의 방법이 확실하지 않습니다. 어떻게해야하는지 알았다면 그것을 레이아웃으로 보내는 방법을 알아낼 수 있습니다. –

+0

나는 우리가 자원 봉사자들로 하여금 당신을 도울 수 있다고 확신하지만, 우리가 모든 퍼즐 조각을 주어야만 확신 할 수 있습니다. 입력, 코딩 시도 및 예상 결과에 대해 최소한의 관련성이있는 표현을보아야합니다. 질문의 질적 향상을 도와 드리겠습니다.'$ _POST [ 'fieldname']'요소로 충분하다고 가정합니다. 당신이 그들과 뭘하려고하는지 보여주십시오. 우리는 새로운 코드를 작성하지 않고 코드를 수정합니다. – mickmackusa

답변

-1
$ids=implode(",", $_REQUEST["fieldname"]); 
    $result3=mysqli_query($dbh,'SELECT* FROM excel_tenant WHERE ID IN ("' . 
    $ids . '") AND 
    ManagerID = "'.$_SESSION["ManagerID"].'" ORDER BY ID DESC ') or 
    die(mysqli_error($dbh)); 
+0

[SQL injection] (https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)에 대해 읽어보십시오. – nvoigt

0

아마도이 값들은 FileMaker에서 valueList를 다시 반영합니다. 루프에 대한 귀하의

$values = $layout->getValueList('pizzaToppings'); 

그리고에 그것을 사용 : 그렇다면, 그것은 변수에 valueList를 할당하는 것이 좋습니다

귀하의 경우 (는 isset()) 블록에서
foreach($values as $value)... 

이 게시 반환 구분 배열에 FileMaker :

// value(s)! 
if ($_POST['fieldname']) { 
    $valueArray = implode("\r", $_POST['fieldname']); 
} 

// pass the array to setField() 
$record->setField('filemakerField', $valueArray); 
0

나는 그것을 해결했다. 체크 박스

<?php $join->fieldname = explode("\n", $join->fieldname); ?> 

// The actual input in the form 
<input name="fieldnameXX[checkboxValue]" value="value" <?php echo (in_array('value', set_value('fieldname[value]', $join->fieldname)) ? ' checked="checked"': '')?> type="checkbox" class="form-check-input" > Value 

공장으로 섹션의 맨

:

보기 : 리턴 구분 된 목록으로 확인 상자를 입력합니다

$fieldnameZZ = $data['fieldnameXX']; 
$data['fieldnameXX'] = FALSE; 
unset($data['fieldnameXX']); 
$sacraments = implode("\n", $fieldnameZZ); 
$data['fieldname'] = $fieldnameZZ; 

이것이 최선의 방법인지 잘 모르겠습니다. 해냈지만 작동합니다.