2011-12-15 5 views
0

でmysqlの列を爆発私は、次の列を持つテーブルがある:解析または分割またはパターン

Id | Title | Status | Update_log 

Update_log列のデータが次のようになります。Lowに変更

優先。オペレーターに転送されます。 - 2009年7月30日木曜日03:53:39 PM by Admin - // - ステータスが進行中に変更されました。 - 2009年9月15日火曜日04:12:40 PM by Operator - // - ステータスがクローズドに変更されました。

Id | Title | Status | Status Changed In Progress Date | Status Changed In Closed Date | Time elapse from In Progress Date to Closed Date 

どのように私はこれを達成できます - 金曜日2009年9月18日管理者によって午前十時39分22秒AM - - //

私はこのような報告書を作りたいですか?

答えて

1

あなたが得る:

$update_log = $row["update_log"]; // "Coresponds to "Priority Changed to Low. Transferre ..." 

用途:

$updates = explode("--//--",$update_log); 
foreach($updates as $one_update) { 
    $exploded_update = explode("--",$one_update); 
    $log_txt = $exploded_update[0]; // "" 
    $lod_date = $exploded_update[1]; 
} 

ですから、あなたのログの各行にアクセスし、例えば、配列に格納し、あなたがやりたいことができます。

+0

$ updates = explode( " - // - "、$ update_log)までは問題ありません。しかし、私は2つの状況の日付をアレイから選択する必要があります: "ステータスが進行中に変更されました"と "ステータスがクローズドに変更されました"。これは私が直面していることであり、私はどのようにわからない。 – Dorin

+0

$ updates [1]と$ updates [2]が必要です(データベースの行ごとに更新ログが正確に同じ場合) – jbrtrnd

関連する問題