2012-08-08 68 views
0

我用PHP開發了一個軟件並用tcpdf報告。它運行良好n沒有問題,但是在mysql中導入大量數據後,php不能生成報告,直到broser超時。我嘗試使用最新的Firefox和Crome。爲什麼TCPDF結果不顯示我是否有數據?

我的劇本

 <?php 

    require_once('tcpdf/config/lang/eng.php'); 
    require_once('tcpdf/tcpdf.php'); 

    // create new PDF documentation 
    include "koneksi.php"; //file conection 

    $bln=$_POST[BLN]; //for catch month 
    $thn=$_POST[THN]; //for catch year 
    $exp=$_POST[EXP]; //for catch expedition name 


    if(empty($exp)) 
    {  
     $sql = "SELECT * FROM tb_exp_local where bulan = '$bln' AND tahun = '$thn'"; 
    } 
    elseif($exp != "") 
    { 
     $sql = "SELECT * FROM tb_exp_local where bulan = '$bln' AND tahun = '$thn' AND nama_exp = '$exp'"; 
    } 
     $hasil = mysql_query($sql); 


     $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false); 

     // set font 
     $pdf->SetFont('times', '', 11); 



    // landscape 
     $pdf->addPage('L', 'LETTER'); 

    //this for convert html to pdf with html function  

     $html = ' 
    <table border="1" cellspacing="3" cellpadding="4"> 
     <tr><td colspan="9" align="center"><h2>Form Pantauan Expedisi Export</h2></td></tr> 
     <tr> 
      <th align="center"><b>Tanggal</b></th> 
      <th align="center"><b>Nama Expedisi</b></th> 
      <th align="center"><b>Nama Distributor</b></th> 
      <th align="center"><b>Kota Tujuan</b></th> 
      <th align="center"><b>No Faktur</b></th> 
      <th align="center"><b>Kondisi Armada Pengiriman</b></th> 
      <th align="center"><b>Ketepatan Jumlah</b></th> 
      <th align="center"><b>Ketepatan Waktu Kirim</b></th> 
      <th align="center"><b>Keterangan</b></th> 
     </tr></table>'; 

     while ($data = mysql_fetch_array($hasil)) 
     { 

     $html .= '<table border="1"><tr><td align="center">'.$data['tgl'].'</td> 
         <td align="center">'.$data['nama_exp'].'</td> 
         <td align="center">'.$data['nama_dist'].'</td> 
         <td align="center">'.$data['kota_tujuan'].'</td> 
         <td align="center">'.$data['faktur'].'</td> 
         <td align="center">'.$data['konarmada'].'</td> 
         <td align="center">'.$data['tepatjml'].'</td> 
         <td align="center">'.$data['tepatwaktu'].'</td> 
         <td align="center">'.$data['ket'].'</td> 
         </tr></table> '; 

     } 

     $pdf->writeHTML($html, true, false, true, false, ''); //for generate 




     $pdf->Output('FormPantauExpLocalAll', 'I'); // for generate pdf file 

    ?> 

誰能幫我解決這個問題?

我非常感謝你的回答。

謝謝

回答

0

服務器超時不依賴於瀏覽器。嘗試使用set_time_limit(60)你的循環中:

while ($data = mysql_fetch_array($hasil)) 
    { 
     set_time_limit(60); 
     $html .= '(...)'; 
    } 

另外,嘗試添加索引到你的數據庫上(補欄,tahun,nama_exp)列,因此應加快檢索過程。另外,請注意,您可能在此過程中耗盡內存(請檢查您的服務器上的PHP日誌)

+0

我嘗試了所有的建議,但仍未運行。任何解決方案? – MudMan23 2012-08-08 07:42:49

+0

它是否顯示日誌或瀏覽器中的任何特定錯誤? – jderda 2012-08-08 07:46:24

+0

不是,瀏覽器只是空白,如果我刷新瀏覽器會再次做到這一點,直到很久又空白。如果我選擇數據少的月份,則pdf正常生成。 – MudMan23 2012-08-08 07:52:52

相關問題