我如何调用根据表单选择器的选择执行 fpdf 的函数?

How can i call a function that executes an fpdf based on the choice of a form selector?

我正在尝试创建具有不同格式的 FPDF,这些格式位于一个函数文件中,该函数文件通过字段选择器 = muni 中的另一页上的表单调用,但它不尊重我的 if 并且总是采用第一个函数,你能指导我吗?

这是表格

<form id="clientForm" name="formularioDatos" method="post" action="insertBD.php"  target="print_popup" 
  onsubmit="window.open('about:blank','print_popup','width=1000,height=800');">

<div class= col-md-3>
    <select class="form-control input-lg" id="idMunicipio" name="idMunicipio" #>
        <option value="" #>MUNICIPIO</option>
        <option value="ACOLMAN">ACOLMAN</option>
        <option value="ZUMPANGO">ZUMPANGO</option>
    </select>
    <input id="muni" name="muni" hidden="true">
</div>
<script>
    $("#idMunicipio").change(function () {
    // aqui vuelve a colocar el id de tu select, pero en esta ocación detectamos el valor que tiene el mismo
    $("#idMunicipio option:selected").each(function () {
        // luego guardas el valor en una variable
        var muni = $(this).val();
        $("#muni").val(muni);
    });
});
</script>

这是数据库中的反插入:

<?php 

include ("pdffunctions.php");
include("conn.php");
$con = connect();
$muni = mysqli_real_escape_string($con, $_POST['muni']);
$way_pay = mysqli_real_escape_string($con,$_POST['way_pay']);
$amount = mysqli_real_escape_string($con,$_POST['amount']);
$concept = mysqli_real_escape_string($con,$_POST['concept']);
$file_name = date("Y-m-d") . "_". $rfc.".pdf";

$sql = "INSERT INTO naucalpan(muni, way_pay, amount, concept, )VALUES('$muni', '$way_pay', '$amount', '$concept', )";
$query= mysqli_query($con, $sql);
if ($muni == 'NAUCALPAN' OR 'HUIXQUILUCAN' )
{
    nau($muni, $way_pay, $concept, $file_name);
}
elseif($muni == 'ACOLMAN' OR 'ATENCO' OR 'AXAPUSCO' OR 'CHIAUTLA' OR 'CHICOLOAPAN' OR 'CHICONCUAC' OR 'CHIMALHUACAN' OR 'NOPALTEPEC' OR 'OTUMBA' OR 'PAPALOTLA' OR 'LA PAZ' OR 'SAN MARTIN DE LAS PIRAMIDES' OR 'TEOTIHUACAN' OR 'TEPETLAOXTOC' OR 'TEXCOCO' OR 'TEZOYUCA')
{
    tex( $muni, $way_pay, $concept, $file_name);
}

这里是我在 pdffunctions.php

中的函数
<?php
    require('fpdf/fpdf.php');
    class PDF extends FPDF
    {}

    function nau( $muni, $way_pay, $concept, $file_name){
        
        $pdf = new FPDF();
        $pdf->AddPage();
        $pdf->SetTextColor(56,56,56);
        $pdf->SetFont('Arial','B',7);
        $pdf->SetMargins(10,10,10,10);
        $pdf->SetY(53);
        $pdf->Setx(45);
        $pdf->Cell(45,12,utf8_decode(''.$muni),0, 0, 'L');
        $pdf->Ln();
        $pdf->Setx(45);
        $pdf->Cell(45,12,utf8_decode(''. $way_pay),0, 0, 'L');
        $pdf->SetY(56);
        $pdf->Setx(108);
        $pdf->MultiCell(60, 12, utf8_decode(''. $concept."    TLANEPANTLA"),0, 0, 'L');
        $pdf->Ln();

        $pdf->Output('F', "pdfs/$file_name");
        $pdf->Output();
    };

    function tex($muni, $way_pay, $concept, $file_name){
        
        $pdf = new FPDF();
        $pdf->AddPage();
        $pdf->SetTextColor(56,56,56);
        $pdf->SetFont('Arial','B',7);
        $pdf->SetMargins(10,10,10,10);
        $pdf->SetY(53);
        $pdf->Setx(45);
        $pdf->Cell(45,12,utf8_decode(''.$muni),0, 0, 'L');
        $pdf->Ln();
        $pdf->Setx(45);
        $pdf->Cell(45,12,utf8_decode(''. $way_pay),0, 0, 'L');
        $pdf->SetY(56);
        $pdf->Setx(108);
        $pdf->MultiCell(60, 4, utf8_decode(''. $concept."TEXCOCO"),0, 0, 'L');
        
            $pdf->Output('F', "pdfs/$file_name");
            $pdf->Output();
        }
?>

您的 php if 陈述是基于误解。

if ($muni == 'NAUCALPAN' OR 'HUIXQUILUCAN' ) 

必须

if ($muni == 'NAUCALPAN' OR $muni == 'HUIXQUILUCAN' )

例如。

在您的版本中,首先计算 OR,因此它计算 'NAUCALPAN' OR 'HUIXQUILUCAN' 作为表达式,计算结果为 true(因为填充的字符串是 truth-y) ,因此您的 if 最终为 if ($muni == true) ,其中包含填充值和松散类型比较,最终也将始终为真(演示:https://3v4l.org/FbdIC)。