-1

需要帮助。当列customer_id='0'的列值时,我需要将其替换为值'Guest'。这是我的代码,我已经尝试了所有我能找到的东西,但都没有成功。提前致谢。

<?php
//Connection to database
mysql_connect("localhost","Username","Password");
mysql_select_db("DB_Name");

$result = mysql_query("SELECT

`order`. order_id,
`order`. customer_id,
`order`. payment_company,
`order`. payment_address_1,
`order`. payment_address_2,
`order`. payment_city,
`order`. payment_zone,
`order`. payment_postcode,
`order`. payment_firstname,
`order`. payment_lastname,
`order`. telephone,
`order`. email

FROM `order`
INNER JOIN customer ON `order`.customer_id = customer.customer_id
WHERE order_status_id > 0 ORDER BY order_id");
if (!$result) die('Sorry, I was unable to any fetch records. Try again');
$num_fields = mysql_num_fields($result);

$headers = array();

// Creating headers for output files
for ($i = 0; $i < $num_fields; $i++)
{
    $headers[] = mysql_field_name($result , $i);
}

$fp = fopen('php://output', 'w');
if ($fp && $result)
{
// name of file with date
    $filename = "Filename-".date('Y-m-d').".csv";

        // Setting header types for csv file.
        header('Content-Type: text/csv');
        header('Content-Disposition: attachment; filename='.$filename);
        header('Pragma: no-cache');
        header('Expires: 0');
        fputcsv($fp, $headers);

        while ($row = mysql_fetch_row($result))
        {
             fputcsv($fp, array_values($row));
        }
        die;
 }
?>
4

4 回答 4

0

这个怎么样?

while ($row = mysql_fetch_row($result))
{
    $row[1] = (($row[1]  == '0') ? 'Guest' : 0);
    fputcsv($fp, array_values($row));
}
于 2012-08-30T13:50:16.157 回答
0
SELECT order.order_id,
       CASE WHEN order.customer_id = '0' THEN 'Guest' ELSE order.customer_id END AS customer_id, 
...
于 2012-08-30T13:50:50.517 回答
0

您将不得不在 fputcsv 之前入侵

    while ($row = mysql_fetch_row($result))
    {
        if($row[1] == '0') {
            $row[1] = 'Guest';
        }
        fputcsv($fp, array_values($row));
    }

还可以查看 while ($row = mysql_fetch_assoc($result)) 你可以使用 $row['customer_id'] 而不是 $row[1]

于 2012-08-30T13:51:19.357 回答
0
$result = mysql_query("SELECT 
`order`.order_id,
IF (`order`.customer_id = 0, 'Guest', `order`.customer_id) AS customer_id,
`order`.payment_company,
etc..");
于 2012-08-30T13:56:18.237 回答