Php 复选框条件无法正常工作

Php 复选框条件无法正常工作,php,html,mysql,tcpdf,Php,Html,Mysql,Tcpdf,我正在从这个函数中获取数据,现在我希望根据我的条件选中复选框,我的条件是如果我从db获得值roro,则将选中“否”。如果我获得船舶,则将选中“是” $getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId); if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") { $checkedYes = "checked"; } if($ge

我正在从这个函数中获取数据,现在我希望根据我的条件选中复选框,我的条件是如果我从db获得值
roro
,则将选中“否”。如果我获得
船舶,则将选中“是”

$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
     $checkedYes = "checked";
} if($getDataForPDF["typeOfMove"] == "roro") {
     $checkedNo = "checked";
}
我在复选框中使用这个条件

$html .= '<tr>';
     $html .= '<td colspan="3">';
          $html .= '<small>11. TYPE OF MOVE</small> <br />';
          $html .= $getDataForPDF["typeOfMove"];
     $html .= '</td>';

     $html .= '<td colspan="2">';
          $html .= '<small>11a. CONTAINERIZED &nbsp;&nbsp;&nbsp; (Vessel only)</small> <br/>';
          $html .= '<input type="checkbox" checked="'.$checkedYes.'" name="yes"> Yes &nbsp;&nbsp;&nbsp; <input type="checkbox" checked="'.$checkedNo.'" name="no"> No';
      $html .= '</td>';
$html .= '</tr>';
$html.='';
$html.='';
$html.='11。移动类型
; $html.=$getDataForPDF[“typeOfMove”]; $html.=''; $html.=''; $html.='11a。集装箱运输(仅限船舶)
; $html.='是否'; $html.=''; $html.='';
我的条件是正确的,但不适用于
checked=“checked”
条件。我的代码有什么问题吗?

你能试试吗

$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
     $checkedYes = "checked='checked'";
} elseif($getDataForPDF["typeOfMove"] == "roro") {
     $checkedNo = "checked='checked'";
}
以及:

$html .= '<input type="checkbox" '.$checkedYes.' name="yes"> Yes &nbsp;&nbsp;&nbsp; <input type="checkbox" '.$checkedNo.' name="no"> No';
$html.='Yes-No';
我不确定它是否能解决您的问题,但这就是您要做的,以便根据您的数据库信息相应地选中复选框


有帮助吗?

checked属性与在标记末尾添加checked一样简单。例如,
将是一个复选框,其中不存在复选框将被取消选中

以下代码应该可以为您解决此问题:

$checkedYes = '';
$checkedNo = '';
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
     $checkedYes = " checked";// note the space before checked
} if($getDataForPDF["typeOfMove"] == "roro") {
     $checkedNo = " checked";// note the space before checked
}


$html .= '<tr>';
     $html .= '<td colspan="3">';
          $html .= '<small>11. TYPE OF MOVE</small> <br />';
          $html .= $getDataForPDF["typeOfMove"];
     $html .= '</td>';

     $html .= '<td colspan="2">';
          $html .= '<small>11a. CONTAINERIZED &nbsp;&nbsp;&nbsp; (Vessel only)</small> <br/>';
          $html .= '<input type="checkbox" name="yes"'.$checkedYes.'> Yes &nbsp;&nbsp;&nbsp; <input type="checkbox"  name="no"'.$checkedNo.'> No';
      $html .= '</td>';
$html .= '</tr>';
就像其他答案一样,使用
checked='checked'
属性,但是在尝试连接html字符串之前必须初始化变量。如问题中所述,
$checkedYes
$checkedNo
将未定义,因为它们在互斥的
if
块中初始化。不确定这是否会产生影响,但似乎是合理的。

TCPDF的writeHTML()函数只支持有限的HTML标记子集。详细信息请查看。
input
标签显然是不受支持的标签


相反,您可以使用HTML实体来表示选中和未选中的复选框。已经有一个提供了可以使用的可能实体的示例。

只选中
属性而不选择值将使
复选框始终处于选中状态。看起来您已经在此处硬编码了复选框的选中状态。另外,如果这是一个
Yes/No
选项,为什么要选择
checkbox
而不是
单选按钮呢?否实际上是复选框。请看我的更新问题,我在问题中也解释了我的情况。好的,我的第一个评论是什么?这意味着我必须在我的情况下打上复选框?你是什么意思?问题是什么?我正在检查问题。那么,它看起来怎么样?它没有在PDFits中创建复选框,在TCPDF中对我不起作用。TCPDF未显示TCPDFits中的复选框在TCPDF中不适用于我。TCPDF没有显示TCPDF中的复选框。我正在查看一些TCPDF示例,并在您的问题中添加了一个标记,以便有更多TCPDF经验的人可以看到该问题。
$checkedYes = '';
$checkedNo = '';
$getDataForPDF = getDataForPDF($bookingsId, $bookingsLettersDockReceiptId);
if($getDataForPDF["typeOfMove"] == "Vessel, Containerized") {
     $checkedYes = " checked='checked'";// note the space before checked
} 
if($getDataForPDF["typeOfMove"] == "roro") {
     $checkedNo = " checked='checked'";// note the space before checked
}