レポートからの配列があります。
このレポートには次のような情報があります。
157479877294,OBSOLETE_ORDER,obelisk,19/01/2013 01:42pm
191532426695,WRONG_PERFORMANCE,g3t1,19/01/2013 01:56pm
159523681637,WRONG_PERFORMANCE,g3t1,19/01/2013 01:57pm
176481653889,WRONG_PERFORMANCE,g4t1,19/01/2013 01:57pm
167479810401,WRONG_PERFORMANCE,g4t1,19/01/2013 02:00pm
172485359309,WRONG_PERFORMANCE,g4t2,19/01/2013 02:02pm
125485358802,WRONG_PERFORMANCE,g4t2,19/01/2013 02:02pm
172485359309,DAY_LIMIT_EXCEEDED,obelisk,19/01/2013 02:03pm
125485358802,DAY_LIMIT_EXCEEDED,obelisk,19/01/2013 02:03pm
私がする必要があるのは、各タイプのエラーと場所の合計を取得することです。そのため、最初のエラーは「OBSOLETE_ORDER」と場所:「オベリスク」になります。私はこれをいくつかの方法でやろうとしましたが、私が思いつくことができる最高のものは多次元配列です:
$error_handle = fopen("$reportUrl", "r");
while (!feof($error_handle) )
{
$line_of_text = fgetcsv($error_handle, 1024);
$errorName = $line_of_text[1];
$scannerName = $line_of_text[2];
if($errorName != "SCAN_RESULT" && $errorName != "" && $scannerName != "SCAN_LOGIN" && $scannerName != "")
{
$errorsArray["$errorName"]["$scannerName"]++;
}
}
fclose($error_handle);
print_r($errorsArray);
私に次を与えます:
Array ( [OBSOLETE_ORDER] => Array ( [obelisk] => 1 ) [WRONG_PERFORMANCE] => Array ( [g3t1] => 2 [g4t1] => 2 [g4t2] => 2 ) [DAY_LIMIT_EXCEEDED] => Array ( [obelisk] => 2 ) )
これは素晴らしいことです...どうすればそれを分解してSQLデータベースに追加できますか?! (配列の下にあるキーの下にあるキーとそのキーの合計を取得することに興味があります)
そしてそれをテーブルに追加します
-errors- (インデックス)id_errors id_event id_access_scanner id_errors_type total_errors
-errors_type- (インデックス)id_errors_type name_errors_type
-access_scanner- (index)id_access_scanner id_ポータル名_access_scanner
助けてください!
ありがとう!