0

私はこれを理解しようとしてきました。これはずっと前に他の誰かが書いたコードで、新しい機能を追加するように依頼されました。つまり、mysql db に送信し、フィールドが入力された pdf を生成するフォームがあります。戻ってフォームを編集し、pdf を再作成する可能性があります。

私の仕事は、フォームに 2 つのチェックボックスを追加することでした。すべてがうまく機能し、チェックボックスの値がデータベースに送信され、チェックボックスをオンまたはオフにしてpdfファイルが作成されます。

ただし、フォームの編集に戻ると、チェックボックスは常にオフになっているため、DB から値が取得されません。

したがって、フォームに入力する既存のコードは次のとおりです。テキスト、テキストエリア、および選択があることがわかります...ここにチェックボックスを追加するにはどうすればよいですか? ご協力ありがとうございました!

function fillEoi($eoiFile, $oldPost="NULL") {
if (is_array($oldPost) && count($oldPost)>2) {
    $handle = fopen($eoiFile, "r");
    $contents = fread($handle, filesize ($eoiFile));
    fclose ($handle);

    $tempName = tempnam("/tmp", "FOO");
    $handle = fopen($tempName ,"w");

    $fileContent=explode("\n",$contents);

    foreach ($fileContent as $key => $item) {
        //Get fieldname;
        unset($fieldName);
        $fieldName=strrev(stristr(str_replace("/", "\/", $item),"DB_"));
        $fieldName=strrev(substr(strrchr($fieldName,"'"),1));

        // If is an input field
        if (stripos($item, "type='text'") && stripos($item, $fieldName)) {      
                //if (stristr($item, $fieldName))   
            //  $valueAdd=" value='".$oldPost[$fieldName]."'";
                $oldPost[$fieldName] = (strpos($item,'DB_INSUREDVALUE')) ? showValue($oldPost[$fieldName]) : $oldPost[$fieldName];
                $item=str_replace($fieldName, $fieldName."' value='".$oldPost[$fieldName]."",$item);
        } elseif (stripos($item, "</textarea>") && stripos($item, $fieldName)) {
            // If is an Textarea
                $item=str_replace("</textarea>", $oldPost[$fieldName]."</textarea>" , $item);
        } elseif ((stripos($item, $fieldName) && stripos($item, "<select"))) /* or $selectField==1)*/   {
            $returnVar['EoiDate'][$fieldName]=$oldPost[$fieldName];
    }

        }


        $fileContent[$key]=$item;
    }
    $newContent=implode("\n",$fileContent);
    fwrite ($handle, $newContent);
    fclose($handle);
    $newEoiFile=$tempName;
    unset($eoiFile);
} else {
    $newEoiFile=$eoiFile;
}
$returnVar['EoiPath']=$newEoiFile;
return $returnVar;

}

4

1 に答える 1

0

checked 属性を使用して、checkbox 要素をチェック済みに設定できます。

// Get the checkbox state from db, I assume here it is checked
$checked = 1;

if ($checked) {
    echo '<input type="checkbox" name="DB_KGS" checked="checked">';
} else {
    echo '<input type="checkbox" name="DB_KGS">';
}
于 2013-01-14T13:08:33.073 に答える