Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php PDF列未将宽度换行到新行_Php_Mysql_Pdf_Fpdf_Word Wrap - Fatal编程技术网

Php PDF列未将宽度换行到新行

Php PDF列未将宽度换行到新行,php,mysql,pdf,fpdf,word-wrap,Php,Mysql,Pdf,Fpdf,Word Wrap,我已经成功地输出了pdf,电子邮件和地址列的宽度重叠到下一列。我需要关于如何使其以新行打印来自数据库的结果的帮助,即使字长比列宽长,它也应该打断并扩展整行的高度。 下面是我的代码 <?php require('fpdf.php'); $db = new PDO('mysql:host=localhost;dbname=ddname;charset=utf8', 'root', ''); $db->setAttribute(PDO::ATTR_ERRMODE, P

我已经成功地输出了pdf,电子邮件和地址列的宽度重叠到下一列。我需要关于如何使其以新行打印来自数据库的结果的帮助,即使字长比列宽长,它也应该打断并扩展整行的高度。 下面是我的代码

     <?php
  require('fpdf.php');

 $db = new PDO('mysql:host=localhost;dbname=ddname;charset=utf8', 'root', '');
  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

  $colNames = array();


   $result = $db->query("SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='dbname' AND TABLE_NAME='table_name'");

  foreach($result as $row) {
  $colNames[]  = $row["COLUMN_NAME"];
 }

     $pdf = new FPDF('L','mm','A4');
     $pdf->AddPage();
     $pdf->SetDisplayMode(real,'default');

     $pdf->SetFont('Arial','B',12);      
     $pdf->SetTextColor(50,60,100);

     $pdf->SetDrawColor(50,60,100);
     $pdf->Cell(100,10,'Tabledata table_name',1,0,'C',0);

     $pdf->Ln();


      foreach($colNames as $colName) {
      $pdf->SetFont('Arial','B',8); 
      if($colName=="id")
   {
    $pdf->Cell(6,10,$colName,1);    
    } elseif($colName=="email_address"){     
     $pdf->Cell(22,10,$colName,1);}elseif($colName=="title"){    
    $pdf->Cell(10,10,$colName,1);}else
    {
    $pdf->Cell(22,10,$colName,1);   
    }
 }


 foreach($db->query("SELECT * FROM table_name") as $row2) {
  $pdf->Ln();
  foreach($colNames as $colName) {
  $pdf->SetFont('Arial','',8); 
    if($colName=="id")
   {
   $pdf->Cell(6,10,$row2[$colName],1);  
  } elseif($colName=="title"){    
  $pdf->Cell(10,10,$row2[$colName],1);}else
  {
  $pdf->Cell(22,10,$row2[$colName],1);  
  }
     } 
 }
   $pdf->Output();
   ?>

这是当前结果的一个示例

使用Multicell()包装列中的文本…您是否按照@Ashutosh的建议尝试使用Multicell()呢?你的问题解决了没有?