2016-11-29 5 views
0

У меня есть экспорт PHP файл, который работает нормально, экспорт Datas, как я хочу, но в экспортированной CSV таблицы файлов поле некорректно, как вы можете видеть на картинке ниже:Некорректного порядок полей в экспортируемой таблице CSV

enter image description here

код РНР:

<?php 
session_start(); 
?> 
<?php 
header('Content-Disposition: attachment; filename="befizetesek.csv"'); 
    $hostname = "localhost"; 
    $dbusername = "username"; 
    $dbname = "dbname"; 
    $dbpassword = "password"; 

$dbhandle = ($GLOBALS["___mysqli_ston"] = mysqli_connect($hostname, $dbusername, $dbpassword)) 
    or die("Nem sikerült kapcsolódni az adatbázishoz"); 

$selected = ((bool)mysqli_query($dbhandle, "USE " . $dbname)) 
    or die("Nincs kiválasztva adatbázis tábla"); 

$query ="SELECT 
    VU.first_name AS 'Befizeto neve', 
    VU.email AS 'Befizeto tagkodja', 
    VI.order_item_name AS 'Befizetett idoszak', 
    VO.order_total AS 'Befizetett osszeg', 
    VO.created_on AS 'Befizetes datuma', 
    VO.order_number AS 'Befizeto azonosito' 
FROM 
    m1uzl_virtuemart_orders VO INNER JOIN 
    m1uzl_virtuemart_order_items VI ON 
     VO.virtuemart_order_id = VI.virtuemart_order_id INNER JOIN 
    m1uzl_virtuemart_order_userinfos VU ON 
     VI.virtuemart_order_id = VU.virtuemart_order_id 
WHERE 
    VO.order_status='C' AND 
    (VO.created_on >= STR_TO_DATE ('" . $_SESSION["tol"] . "', '%Y-%m-%d') 
AND VO.created_on <= STR_TO_DATE ('" . $_SESSION["ig"] . "', '%Y-%m-%d'))"; 

$export = mysqli_query($GLOBALS["___mysqli_ston"], $query) or die ("Sql error : " . ((is_object()) ? mysqli_error() : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false))); 

$fields = (($___mysqli_tmp = mysqli_num_fields($export)) ? $___mysqli_tmp : false); 

for ($i = 0; $i < $fields; $i++) 
{ 

    $header .= ((($___mysqli_tmp = mysqli_fetch_field_direct($export , $i)->name) && (!is_null($___mysqli_tmp))) ? $___mysqli_tmp : false) .";" ; 
} 

while($row = mysqli_fetch_row($export)) 
{ 
    $line = ''; 
    foreach($row as $value) 
    {            
     if ((!isset($value)) || ($value == "")) 
     { 
      $value = ""; 
     } 
     else 
     { 
      $value = str_replace(';' , ';' , $value); 
      $value = ';' . $value ; 
     } 
     $line .= $value; 
    } 
    $data .= trim($line) . "\n"; 
} 
$data = str_replace("\r" , "" , $data); 

if ($data == "") 
{ 
    $data = "\n(0) Nincs találat!\n";       
} 

header("Content-type: application/octet-stream"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
print "$header\n$data"; 
?> 

Я думаю, что это просто банальная вина, но я не могу видеть ..... Пожалуйста, помогите кто-нибудь.

+0

Почему вы хотите переопределить весь код для правильного экспорта csv? Существует функция для того, что даже позволяет справиться с правильным, что вы полностью игнорируете. – arkascha

ответ

0

Благодарим за внимание. Я нашел решение. Проблема была в обратной последовательности в этой строке:

$value = ';' . $value ; 

хороший один это:

$value = $value . ';' ; 

С наилучшими пожеланиями!

 Смежные вопросы

  • Нет связанных вопросов^_^