drctyr2869 2016-07-09 03:47
浏览 48
已采纳

PHP Excel导出仅显示MYsql表的最后一行

I am having problems exporting data from a MySQL database using a PHP script that mimes an excel file. The data is only exporting the last row of the MySQL table. I have chopped the code down to remove all the relational look ups (as there are multiple MySQL queries through out which make it hard to read). I understand I am over writing my variables so only the last row of selected is available to the script but after a lot of searching I still cant seem to find an answer (I am guessing I need to store the data in an array then call that array within the code that exports the data as an excel file). All help will be greatly appreciated. My code (chopped down version) is:

<?php
    // Apply server security settings and keep cookies
    // connecting to the server
    // selecting the appropriate database
    //storing and fetching user data

$generate_query = "SELECT * FROM main_report";

$generate_data = mysql_query($generate_query, $link);

while($report = mysql_fetch_array($generate_data))
            {   

            $reportnoout = "<td>".$report['report_number']."</td>";

            $incdateout = "<td>".$report['incident_time']."</td>";

            $siteout = "<td>".$site_data['site_name']."</td>";

            $deptout = "<td>".$dept_data['department_name']."</td>";

            $reportout = "  <td>".$report['report_type']."</td>";

            $superout = "<td>".$staff_data5['name']."</td>";

            $descout = "<td>".$report['detailed_desc']."</td>"; 

// Needs some form of array declaration here maybe? 

            }       
// filename for download
$filename = "test_data_" . date('Ymd') . ".xls";    
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=$filename"); 
$test="<table><th>Report No.</th><th>Incident Date</th><th>Site</th><th>Department</th><th>Incident Type</th><th>Responsible Supervisor</th><th>Description</th><tr>";
$test2="$reportnoout $incdateout $siteout $deptout $reportout $superout $descout"; // This is not right either should probably be an array or not even here?
echo $test;
echo $test2; // This was a stop gap to at least see if some of the code worked
exit;
?>

Many thanks in advance.

Cheers Jase

PS I worked this code up by searching the web over the last few days and put it together from that prior to this I have never worked on this type of stuff (outputting file types)

  • 写回答

1条回答 默认 最新

  • dqwh1219 2016-07-09 06:02
    关注

    Your code could use a lot of cleanup, but I will let you figure that out later, and focus on making it work as you have intended.

    You can do this by using concatenation .=

    //start table string
    $table = "<table><tr>
            <th>Report No.</th>
            <th>Incident Date</th>
            <th>Site</th>
            <th>Department</th>
            <th>Incident Type</th>
            <th>Responsible Supervisor</th>
            <th>Description</th><tr>";
    
    $generate_query = "SELECT * FROM main_report";  
    $generate_data = mysql_query($generate_query, $link);    
    
    while($report = mysql_fetch_array($generate_data))
    {   
        //add row to string using concatenation
        $table .= "<tr><td>{$report['report_number']}</td>
                   <td>{$report['incident_time']}</td>
                   <td>{$site_data['site_name']}</td>
                   <td>{$dept_data['department_name']}</td>
                   <td>{$report['report_type']}</td>
                   <td>{$staff_data5['name']}</td>
                   <td>{$report['detailed_desc']}</td></tr>";
    }       
    
    //close table
    $table .="</table>";
    
    // filename for download
    $filename = "test_data_" . date('Ymd') . ".xls";    
    header("Content-type: application/vnd.ms-excel");
    header("Content-Disposition: attachment; filename=$filename"); 
    
    echo $table;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!