3

fdpf セル $DocRef->Cell(23,10,'Re: Patient: '.$patientdata,0,0,'L'); があります。

$patientdata は mysql ステートメントから取得されます

以下を使用して上記のセルに $patientdata を配置すると、目的の結果が得られます。たとえば、PDF ドキュメントに Smith John Michael として表示されます。

 if (($uppatientID <> '') and ($uppatientID <> 0))
  {
    $patientsql =   "
      SELECT
        Concat_Ws(' ', `PatientLastName`, `PatientFirstName`, `PatientMiddleName`)
      FROM
        `Patient`
      Where
        `PatientID` = $uppatientID
    ";

    $patientresult=mysql_query ($patientsql) or die (mysql_error ());
    while ($patienttrow=mysql_fetch_row($patientresult))
      {
        $patientdata = $patienttrow[0];
      }
    mysql_free_result($patientresult);
   }
  else
    {
      $patientdata = ' ';
    }

患者の名前は暗号化されているため、復号するには次の手順を実行する必要があります

if (($uppatientID <> '') and ($uppatientID <> 0))
  { 
    $patientsql =   "
      SELECT
        `PatientLastName`, `PatientFirstName`, `PatientMiddleName`
      FROM
        `Patient`
      Where
        `PatientID` = $uppatientID
    ";

    $patientresult=mysql_query ($patientsql) or die (mysql_error ());
    while ($patienttrow=mysql_fetch_row($patientresult))
      {
        $PatientLastNames = $patienttrow[0];
        $PatientFirstNames = $patienttrow[1];
        $PatientMiddleNames = $patienttrow[2];

        $patientdata = $PatientLastNames.$PatientFirstNames.$PatientMiddleNames;

      }
    mysql_free_result($patientresult);
   }
  else
    {
      $patientdata = ' ';
    }

しかし、上記のセルは、各名前の間に多くの空白を入れて pdf ドキュメントに表示するようになりました。これは、 php を使用して各文字列を結合した場合にのみ発生します。それらに参加します。これを修正するために使用できるフォーマットはありますか。

興味深いことに、pdf ドキュメントの名前を選択して貼り付けると、追加されたすべての空白が削除されます。

ありがとう、

イヴァン

4

2 に答える 2

0

返信ありがとうございます。問題を解決するのに役立ちました。テーブルデータを復号化する必要があるため、\u0000 でパディングされて 32 文字の文字列になります。これを削除するには、 str_replace("\x0", '', $str); を追加する必要がありました。

$patientdata = str_replace("\x0", '', PatientLastName . " " . PatientFirstName . " " . PatientMiddleName);

これにより、pdfが正しく表示されるようになりました

于 2012-09-05T11:05:27.790 に答える