如何在单击按钮时使用PHP / MySQL在CSV / Excel文件中导出MySQL数据?

时间:2014-08-28 10:53:27

标签: php mysql excel

我已经创建了sql视图。我想在单击按钮“Excel中导出”按钮后将视图内容导出到Excel工作表。我怎么做?。期待您的帮助。

<?php

 $db_host = '';

 $db_user = '';

$db_pwd = '';

$database = '';

$table = '';

if (!mysql_connect($db_host, $db_user, $db_pwd))

    die("Can't connect to database");

if (!mysql_select_db($database))

    die("Can't select database");

// sending query

$result = mysql_query("SELECT * FROM view_abc");

if (!$result) {

    die("Query to show fields from table failed");

}

$fields_num = mysql_num_fields($result);

echo "<div class='wrapper'>
<font size=3 color=blue><b>Entry";

echo "</font></b><table class='table'><tr>";

// printing table headers

for($i=0; $i<$fields_num; $i++)

{

    $field = mysql_fetch_field($result);

    echo "<td><b>{$field->name}</b></td>";
}

echo "</tr>\n";

// printing table rows

while($row = mysql_fetch_row($result))

{

    echo "<tr>";

    // $row is array... foreach( .. ) puts every element

    // of $row to $cell variable

   /* foreach($row as $cell)

        echo "<td>$cell</td>";
   */

        echo "<td bgcolor='#d5eaf0'>{$row[0]}</td>";
        echo "<td bgcolor='#d5eaf0'>{$row[1]}</td>";
        if ($row[2]==0)
        echo "<td bgcolor='green'>{$row[2]}</td>";
        else if ($row[2]>0)
        echo "<td bgcolor='red'>{$row[2]}</td>";
        if ($row[3]==0)
        echo "<td bgcolor='green'>{$row[3]}</td>";
        else if ($row[3]>0)
        echo "<td bgcolor='red'>{$row[3]}</td>";
        if ($row[4]>90)
        echo "<td bgcolor='green'>{$row[4]}</td>";
        else if ($row[4]<90)
        echo "<td bgcolor='red'>{$row[4]}</td>";
        if ($row[5]>90)
        echo "<td bgcolor='green'>{$row[5]}</td>";
        else if ($row[5]<90)
        echo "<td bgcolor='red'>{$row[5]}</td>";
        if ($row[6]>90)
        echo "<td bgcolor='green'>{$row[6]}</td>";
        else if ($row[6]<90)
        echo "<td bgcolor='red'>{$row[6]}</td>";
        if ($row[7]>90)
        echo "<td bgcolor='green'>{$row[7]}</td>";
        else if ($row[7]<90)
        echo "<td bgcolor='red'>{$row[7]}</td>";
        if ($row[8]>90)
        echo "<td bgcolor='green'>{$row[8]}</td>";
        else if ($row[8]<90)
        echo "<td bgcolor='red'>{$row[8]}</td>";
        if ($row[9]>90)
        echo "<td bgcolor='green'>{$row[9]}</td>";
        else if ($row[9]<90)
        echo "<td bgcolor='red'>{$row[9]}</td>";
        if ($row[10]=='YES')
        echo "<td bgcolor='green'>{$row[10]}</td>";
        else if ($row[10]=='NO')
        echo "<td bgcolor='red'>{$row[10]}</td>";
        if ($row[11]==0)
        echo "<td bgcolor='green'>{$row[11]}</td>";
        else if ($row[11]>0)
        echo "<td bgcolor='red'>{$row[11]}</td>";
        if ($row[12]==0)
        echo "<td bgcolor='green'>{$row[12]}</td>";
        else if ($row[12]>0)
        echo "<td bgcolor='red'>{$row[12]}</td>";
        if ($row[13]<28)
        echo "<td bgcolor='green'>{$row[13]}</td>";
        else if ($row[13]>28)
        echo "<td bgcolor='red'>{$row[13]}</td>";
        echo "<td bgcolor='#d5eaf0'>{$row[14]}</td>";

        echo "</tr></div>\n";

}

mysql_free_result($result);

?>

1 个答案:

答案 0 :(得分:0)

使用以下查询

$res =  mysql_query("SELECT * INTO OUTFILE '$name.csv' FROM users ");

此处$ name是您要创建的文件的名称。

否则您可以使用日期函数而不是静态名称来使用当前日期。 该文件将存储在xampp / mysql / data /您的数据库名称中(假设您使用的是xampp)。