2015-04-07 6 views
-1

В начале и в финале содержания я должен добавить скобки мой файл CSV выглядит следующим образомAppend скобки в конце в CSV файл

 date1,success,failure,count 
     1427653800,95,65,160 
     1427653800,30,10,40 
     1427740200,10,8,18 
     1427740200,30,38,68 
     1427826600,38,20,58 
     1427826600,60,10,70 
     1427653800,15,15,30 
     1427653800,10,10,20 

После добавления кронштейнов содержимое должно выглядеть следующим образом: [1427653800,95,65,160] Мой PHP код ниже:

<?php 
     $list = array ('date1', 'success', 'failure','count'); 

     $sql = "SELECT (SUBSTRING(UNIX_TIMESTAMP(date1),1,10)),success,failure,count from h_statistics;"; 
       $users_profile_user_id = mysqli_query($conn, $sql); 

      $fp = fopen("data.csv", "w"); 

      fputcsv($fp, $list); 
     while($row = mysqli_fetch_array($users_profile_user_id, MYSQLI_ASSOC)) 
     { 

      fputcsv($fp, $row); 

     } 

     fclose($fp); 
    ?> 

this is my conn.php file ,please suggest me on this 
+0

use "[". $ Row. "]"; – Saty

+0

PLZ попробовать и дайте мне знать! – Saty

+0

@satish $ row - это массив, это не сработает. –

ответ

1

что лучше использовать этот запрос

$sql = "SELECT CONCAT('[','',(SUBSTRING(UNIX_TIMESTAMP(date1),1,10))),success,failure,CONCAT(count,'',']') from h_statistics"; 

это даст вам результат, как [1427653800,95,65,160], поэтому нет необходимости делать какие-либо код в вас во время цикла

+1

@ satish спасибо! оно работает – happy

0

Попробуйте добавлять и предварять скобки:

$row[0] = '['.$row[0]; 
$row[3] .= ']'; 
fputcsv($fp, $row); 
+0

@satish, ладно, попробуем это – happy

+0

@ akram okay попробует его и посмотрит – happy

+0

@ akram, если я положил, $ row [0] = '['. $ Row [0]; $ row [3]. = ']'; fputcsv ($ fp, $ row); внутри while loop im get output как date1, success, failure, count 1427653800,95,65,160, [,], но мне это нужно [1427653800,95,65,160] – happy

0

попробовать с моей функцией, которая добавляет текст в первый и последний элемент ассоциативного массива:

<?php 

function array_brackets($array,$prefix,$suffix){ 

//add prefix to the first element 
end($array); 
$key = key($array); 
$array[$key] = $prefix . $array[$key]; 

//add sufix to the last element 
reset($array); 
$key = key($array); 
$array[$key] = $array[$key] . $suffix; 

return $array; 
} 


$list = array ('date1', 'success', 'failure','count'); 

$sql = "SELECT (SUBSTRING(UNIX_TIMESTAMP(date1),1,10)),success,failure,count from h_statistics;"; 
     $users_profile_user_id = mysqli_query($conn, $sql); 

    $fp = fopen("data.csv", "w"); 

    fputcsv($fp, $list); 
while($row = mysqli_fetch_array($users_profile_user_id, MYSQLI_ASSOC)) 
{ 

    fputcsv($fp, array_brackets($row,"[","]")); 

} 

fclose($fp); 

?> 
+0

Пример можно найти здесь: http://codepad.org/CWttUAiC Оставьте мне строку, если она сработает для вас. –

+0

@ user3753411 Вы можете выполнить и дать мне вывод: \t

0

Пожалуйста, запустите этот код и дать мне выход:

<?php 

$list = array ('date1', 'success', 'failure','count'); 

$sql = "SELECT (SUBSTRING(UNIX_TIMESTAMP(date1),1,10)),success,failure,count from h_statistics;"; 
     $users_profile_user_id = mysqli_query($conn, $sql); 

    //$fp = fopen("data.csv", "w"); 

    //fputcsv($fp, $list); 
while($row = mysqli_fetch_array($users_profile_user_id, MYSQLI_ASSOC)) 
{ 

    //fputcsv($fp, array_brackets($row,"[","]")); 
    print_r($row); 
    exit; 
} 

//fclose($fp); 

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