2017-02-07 4 views
1

Я создал этот php-скрипт, чтобы вытащить некоторые данные из моей базы данных и экспортировать их в CSV.SQL, PHP экспорт в CSV

Я получил заголовки установлены 0,1,2, но мне нужен статический текст в колонке 0.

Eg статического, фондовый код, КОЛ.

Код товара, QTY вытягивается из базы данных.

Любая помощь будет оценена по достоинству.

Мой код ниже. ?

// open connection to mysql database 
$connection = mysqli_connect($host, $username, $password, $dbname) or die("Connection Error " . mysqli_error($connection)); 

// fetch mysql table rows 
$sql = "select ManufacturerPartNumber, (QuantityOnHand - QuantityOnSalesOrder) from iteminventory"; 
$result = mysqli_query($connection, $sql) or die("Selection Error " . mysqli_error($connection)); 

$fp = fopen('inventory.csv', 'w'); 

    fputcsv($fp, array('0', '1', '2')); 


while($row = mysqli_fetch_assoc($result)) 
{ 
    fputcsv($fp, $row); 
} 

fclose($fp); 

//close the db connection 
mysqli_close($connection); 

>

+1

Что вы имеете в виду под "статическими" в столбце 0? Какой-то идентификатор? –

ответ

0

Если я правильно понимаю, вы хотите поставить какой-то ID в первый столбец вашего CSV, так что вы должны добавить «статический» элемент в первой позиции массива, который вы получите из результата sql.

EDIT - обновлен, чтобы иметь статическое значение в первом столбце

Пример:

... 
while($row = mysqli_fetch_assoc($result)) 
{ 
    array_unshift($row, 0); 
    fputcsv($fp, $row); 
} 
... 
0

Попробуйте это:

$header = array('Static', 'Stock code', 'QTY'); 

$fp = fopen('inventory.csv', 'w'); 

fputcsv($fp, $header); 
0

Это работало

$id = 0; // or whatever else you want to have in the first column 
    while($row = mysqli_fetch_assoc($result)) 
    { 
    array_unshift($row, $id); 
    fputcsv($fp, $row); 
    $id; 
    } 
+0

Если вам нужно то же самое значение в первом столбце для всех ваших строк (но мне интересно, почему :-)), нет необходимости в переменной $ i. Я обновил свой ответ ... –