मैं एक सीएसवी फ़ाइल उत्पन्न करने के लिए PHP का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे इसे हेडर पंक्ति सेट अप करने की आवश्यकता है और फिर सीएसवी के शीर्षलेख के नीचे सामग्री जोड़ें।

अभी यह बिना किसी हेडर के लाइन दो के बजाय लाइन एक से शुरू होता है।

मैं ऐसा करने के लिए इस कोड के संशोधन को कम करना चाहता हूं।

$file_open = fopen("report.csv", "a");
    $no_rows = count(file("report.csv"));
    if($no_rows > 1)
    {
        $no_rows = ($no_rows - 1) + 1;
    }
    $form_data = array(
        'sr_no' =>  $no_rows,
        'name'  =>  $name,
        'devicemode'    =>  $devicemode,
        'rating'  =>    $rating,
        'comment'  =>   $comment,
        //'timing'    =>  $diff
    );
    fputcsv($file_open, $form_data);
    $name = '';
    $devicemode = '';
    $enhanced = '';
    $comment = ''; }
0
triops124 1 जून 2018, 18:18

2 जवाब

सबसे बढ़िया उत्तर

कोड में कुछ अजीब चीजें हैं (क्यों $no_rows = ($no_rows - 1) + 1;?), लेकिन आप $form_data की कुंजियों का उपयोग करके array_keys() के साथ आसानी से एक हेडर पंक्ति लिख सकते हैं।

$form_data = array(
    'sr_no' =>  $no_rows,
    'name'  =>  $name,
    'devicemode'    =>  $devicemode,
    'rating'  =>    $rating,
    'comment'  =>   $comment,
    //'timing'    =>  $diff
);
if($no_rows == 0)
{
    fputcsv($file_open, array_keys($form_data));
}
0
Nigel Ren 1 जून 2018, 19:09

मैं भूल गया था कि fputcsv एक बार में एक लाइन लेता है। यह कोड अपडेट किया गया है।

मैं यह कैसे करूँगा यह कुछ ऐसा है:

fputcsv($file_open, array('sr_no', 'name', 'devicemode', 'rating', 'comment'));
fputcsv($file_open, array('sr_no'=>$no_rows, 'name'=>$name, 'devicemode'=>$devicemode, 'rating'=>$rating, 'comment'=>$comment)) ;
0
Mr Glass 1 जून 2018, 20:04