2016-09-24 14 views
0

私のコードで私を助けてください。 explode()私のために働いていません。phpがうまくいきません。

私が必要とするのは、これらのすべての分離ワードを配列 "$traceData"に挿入することです。アレイインデックスでそれらのワードにアクセスできます。 ($traceData[1]$traceData[2] ...)

$_GET[allTrace]は次のとおりです。

Quality|good|bad|reason\nQuality2|good2|bad2|reason2\nQuality3|good3|bad3|reason3\n

$allTrace = explode("\n",$_GET[allTrace]); 

foreach ($allTrace as $value) { 

$row = explode("|", $value); 

    foreach($row as $traceData) { 

     mysqli_query($con,"INSERT INTO trace VALUES (null, '$_COOKIE[user011]', '$traceData[0]', '$traceData[1]','$traceData[2]', $date, '$traceData[3]', '$_GET[page]')"); 

    } 
} 

ありがとうございました。

+0

'$ allTrace =( "\ n" を爆発します$ _GET [allTrace ']); 'check once –

+0

' $ allTrace = explode( "\ n"、$ _ GET [allTrace]]) allTrace]); 'いいえ、意味がありません。それを書きなさい** '$ allTrace = explode(" \ n "、$ _ GET [" allTrace "]);' ** – SHAZ

答えて

0

あなたには1つのループがありますが、$行にはあなたが望むものが含まれます。

$string = "Quality|good|bad|reason\nQuality2|good2|bad2|reason2\nQuality3|good3|bad3|reason3\n"; 

$allTrace = explode("\n",$string); 

foreach ($allTrace as $value) { 
$row = explode("|", $value); 
    print_r($row); 
} 

あなたはその後、

$row = Array ([0] => Quality [1] => good [2] => bad [3] => reason) 

だからあなたが持っているしたいのforeachの最初の反復のために気づくでしょうです:

$allTrace = explode("\n",$_GET[allTrace]); 

foreach ($allTrace as $value) { 

    $traceData = explode("|", $value); 

    mysqli_query($con,"INSERT INTO trace VALUES (null, '$_COOKIE[user011]', '$traceData[0]', '$traceData[1]','$traceData[2]', $date, '$traceData[3]', '$_GET[page]')"); 
} 
関連する問題