2014-09-01 119 views
0

這是與具有相同名稱的多個輸入值的表單數據:如何將具有相同名稱的插入CSV多個輸入值在PHP

<form id="form1" name="form1" method="post" action="insert3.php"> 
    <table border=1> 
     <tr><th><span>Outage Reasons (Date)</span></th> <th> RNA - CP (Radio Network Availability - Customer Perceived) </th> <th> RNA - PW (Radio Network Availability - after removing Planned Work minutes) </th> </tr> 
     <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr> 
     <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr> 
     <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr> 
     <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr> 
     <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr> 
     <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr> 
     <tr><td><input type="text" name="outage[]" id="outage" /></td><td><input name="rna_cp[]" type="text" id="rna_cp" size="50" /></td><td><input name="rna_pw[]" type="text" id="rna_pw" size=50/></td></tr> 
     </tr> 
     <tr><td></td> 
      <div align="center"> 
      <td><input type="submit" name="Submit" id="Submit" value="Submit" /> 
      <input type="reset" name="Reset" id="button" value="Reset" /> 
      </td> 
      </div> 
     </tr> 
    </table> 
    </form> 

這是PHP腳本插入到CSV文件:

<?php 

$outage=$_POST['outage']; 
$rna_cp=$_POST['rna_cp']; 
$rna_pw=$_POST['rna_pw']; 

for($i=0;$i<count($_POST['outage']);$i++) 
{ 
    $list = array (
    array("$_POST['outage']", "$_POST['rna_cp']", "$_POST['rna_cp']") 
); 

} 

$fp = fopen('file.csv', 'a'); 

foreach ($list as $fields) { 

    fputcsv($fp, $fields."\r\n"); 
} 

fclose($fp); 

?> 

但數據不插入到文件中的錯誤是:

解析錯誤:語法錯誤,意想不到T_ENCAPSED_AND_WHITESPACE,期待T_STRING或T_VARIABLE或T_NUM_STRING

謝謝。

+0

像'$ outage = $ _ POST ['outage'];'的第一行樹是無用的 – marek094 2014-09-01 09:45:22

+0

可能的重複[參考 - 這個錯誤在PHP中意味着什麼?](http://stackoverflow.com/questions/12769982/reference-what-does-this-error-mean-in-php) – BlitZ 2014-09-01 10:38:26

回答

1

試試這個...

<?php 

$list = array(); 

for($i=0;$i<count($_POST['outage']);$i++) 
{ 
    $list[$i] = array($_POST['outage'][$i], $_POST['rna_cp'][$i], $_POST['rna_pw'][$i]); 

} 

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

foreach ($list as $fields) { 
    fputcsv($fp, $fields); 
} 

fclose($fp); 

?> 
+0

謝謝,它的工作 – John 2014-09-01 10:04:20

0

我試過的$list調試初始化代碼中的:

<?php 

$list = array(); // <- declare array first 
for($i=0; $i<count($_POST['outage']); $i++) 
    $list[] = array($_POST['outage'][$i], $_POST['rna_cp'][$i], 
        $_POST['rna_pw'][$i]); 
    // ^- push_back into array. 
    // - $_POST['outage'] is array too, 
    // so you should use [] operator. 
    // - Use "" for strings only, not for normal variables. 

編輯: 這一工程FO我:

/* 
// test input 
$_POST['outage'] = ['a0', 'b0', 'c0']; 
$_POST['rna_cp'] = ['a1', 'b1', 'c1']; 
$_POST['rna_pw'] = ['a2', 'b2', 'c2']; 
*/ 
$fp = fopen('file.csv', 'a'); 
for($i=0; $i < count($_POST['outage']); ++$i) { 
    $fields = array($_POST['outage'][$i], $_POST['rna_cp'][$i], 
        $_POST['rna_pw'][$i]); 
    fputcsv($fp, $fields);   
} 
fclose($fp); 
+0

是的,我嘗試,但我得到這個錯誤:警告:fputcsv()期望參數2是數組,字符串給出 – John 2014-09-01 09:36:24

+0

@約翰。是的,那是因爲你用'\ r \ n「'用'concat'從'$ fields'字符串創建。沒有這個嘗試。 – marek094 2014-09-01 09:39:31

+0

我得到了:注意:數組到字符串的轉換 – John 2014-09-01 09:41:10

相關問題