-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));
    }

$row[1] の代わりに $row['customer_id'] を使用できる while ($row = mysql_fetch_assoc($result)) も調べてください。

于 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 に答える