2016-04-21 9 views
0

ユーザーデータを自分宛に電子メールで送信する方法を検討していて、ビューにデータを印刷できません。私は一括してすべてのデータにアクセスできますが、ユーザーのためにHTMLテーブル内に表示されるようにフォーマットしたいと思います。ビュー内のキーを使用して配列値にアクセスするには

モデル:

function getEmailData($usersid){ 
    $this->db->select('*'); 
    $this->db->from('symptom'); 
    $this->db->where('userid', $usersid); 
    $symptomState = $this->db->get(); 
    $result = $symptomState->result_array(); 

    return $result; 
} 

function getEmailBMData($usersid){ 
    $this->db->select('*'); 
    $this->db->from('bowelmovement'); 
    $this->db->where('userid', $usersid); 
    $bmState = $this->db->get(); 
    $result = $bmState->result_array(); 

    return $result; 
} 

コントローラー:

function sendDataAsEmail(){ 
    $uid = $this->session->userdata('id'); 
    $uname = $this->session->userdata('username'); 
    $uemail = $this->input->post('email_data'); 

    $data = array(
     'userName'=> $uname, 
     ); 

    $data['symptomData'] = $this->poomonitormodel->getEmailData($uid); 
    $data['bmData'] = $this->poomonitormodel->getEmailBMData($uid); 
    $data['symptomCount'] = $this->poomonitormodel->getTotalSymptomCount($uid); 
    $data['bmCount'] = $this->poomonitormodel->getTotalBMCount($uid); 

    var_dump($data); 

    $contents = $this->load->view('pooemail.php',$data,TRUE); 

    $this->email 
     ->from('#', '#') 
     ->to($uemail) 
     ->subject('#') 
     ->message($contents) 
     ->set_newline("\r\n") 
     ->set_mailtype('html'); 

    $this->email->send(); 
} 

ビュー:

<p> 
    <?php foreach($symptomData as $data){ 
         foreach($data as $nestdata){ 
          echo $nestdata; 
         }; 
        };?> 
       </p> 
       <p> 
       <?php foreach($bmData as $bmdata){ 
         foreach($bmdata as $nestbmdata){ 
          echo $nestbmdata; 
         }; 
       };?> 
</p> 

現在echo $nestdataは、このような完全なデータを文字列として出力しますが、私はアクセスしたいと思います単一の属性($nestdata['symptomdate']など):

462016-04-1402:00burningOesophagus7vomitting 562016-04-1405:00tinglingGallBladder3vomitting 662016-04-1410:00shootingSmallIntenstine8vomitting 1362016-04-2016:raer 1962016-04-2017に58tinglingRectum1Strangeチクチクする感覚:ノイズ1462016-04-2016を47crampGallBladder1Gurgling: 2062016-04-2017 41crampIleum2Cramping:42crampAnus7Itの笛を2162016-04-2017は:42crampRectum7Itも

笛しかし、私はそれが読みやすいですので、私はテーブルのデータセルへのデータの各ビットを置くことができるように、特定の値にアクセスしたいと思いますユーザーのために。

ありがとうございます!

答えて

0

$dataのキーは、ビュー内のvarの名前になります。したがって、コントローラの$data['symptomCount']は、ビュー内で$symptomCountとしてアクセスされます。

あなたの操作は、その種類によって異なります。 $symptomCountがオブジェクト(クラス)の場合、$ x = $symptomCount->some_propertyです。それが配列である場合 - $symptomCount['some_index']

ので

foreach($symptomData as $symptom){ 
    echo $symptom['symptomdate']; 
} 
+0

のようにそれらを繰り返すありがとうございます! echo $ symptomData [0] ['symptomdate']を使ってシンプトン・データに1つずつアクセスできます。どのように私はこれを反復することができますので、私は0,1,2などのように1つ1つずつインデックスを通過する必要はありません? – gideveloper

+0

編集された回答を参照してください。 – DFriend

+0

ありがとうございました! – gideveloper

関連する問題