2017-12-10 24 views
1

私はforeachuserのデータに挿入してCodeIgniterのWebアプリケーションを使用しています。投稿されたデータが正常に挿入されたら、sc_msg[]というフラッシュデータメッセージを作成しました。しかし、私はどのようにフラッシュデータでそれを呼び出すか分かりません。CodeIgniter - 配列flashdataを設定してメッセージを呼び出す方法は?

$user = $this->input->post('user', TRUE); 
foreach ($user as $u) 
{ 
    $this->model->insert($u); 
    $sc_msg[] = '- User '.$u.'has been successfully registered<br>'; 
} 

これは私の見解でどのように呼び出されたかのコードです。

私は、このように呼ばれるメッセージたかっ
<?php if ($this->session->flashdata('warning')) 
     echo $this->session->flashdata('message'); ?> 

  • ユーザーabcが正常に登録されてい
  • ユーザーbcaが正常に
  • を登録されたユーザーqweが正常に
  • を登録されていますユーザーewqが成功しましたully messageに保存されているすべてのsc_msg[]ので、私はそれを呼ばれるためにビューにFORまたはFOREACHを使用する必要はありません

を登録しました。

の問題は、私がメッセージを設定しようとしている、私のコントローラ上にある:

$this->session->set_flashdata('message', $sc_msg); 

それはちょうど、印刷配列ですので、私は$sc_msg[]$sc_msgを変更しようとする結果がエラーである:読書のため[]を使用することはできません。

foreachset_flashdataの内側に使用しようとしていますが、失敗しています。予期せぬforeach。結果だけインデックス0とインデックス1を印刷され

$this->session->set_flashdata('message', $sc_msg[0].$sc_msg[1]); 

それから私はこのようなflashdataを設定しようとしています。結果:

  • ユーザーabcが正常に登録されました
  • ユーザーbcaが正常に

ユーザーqweewqのために呼び出されていない他の2のメッセージがありますが登録されています。

flashdataのメッセージをどのように呼び出すかわかりません。しかし、私に与えないでくださいfor loopソリューション。ありがとうございました。

答えて

1

私はその亜鉛を行う簡単な方法を見ました。

sc_msg[]のメッセージは、すでに次の行に<br>を使用しています。さて、あなたがする必要があるのは、フラッシュデータ内でforeachを使用しないことです。しかし、foreachを使ってメッセージから文字列を追加します。

foreach ($sc_msg as $sm) 
{ 
    $msg = $msg.$sm; // OR using $msg .= $sm; 
} 

$this->session->set_flashdata('message', $msg); 

文字列を追加する別の方法がある場合は試してみてください。私はちょうどあなたのための簡単な例を与えます。

+0

あなたは私をもう一度手伝ってくれました、シンディー!どうもありがとうございました ! – Zinc

関連する問題