2017-09-07 11 views
-2

データを表示しようとしていますが、不正な文字列オフセット警告が表示されています。 data1配列には、私のビューで表示したいデータがあります。 データを表示しようとしていますが、不正な文字列オフセット警告が表示されています。 data1配列には、私のビューで表示したいデータがあります。警告メッセージ:不正な文字列オフセット

私のコントローラ機能:

public function banker_offers_list() { 

     $banker_id = $this->session->userdata('adminid'); 
     $jobs = $this->Admin_model->get_all_partner_jobs($banker_id); 
     foreach($jobs as $item) 
     { 
      $job_id = $item['job_id']; 
      $uid = $item['uid']; 
      $campaign_id = $item['campaign_id']; 
      $campaign_name = $this->Admin_model->get_campaign_name_by_id($campaign_id); 
      $offer_id = $this->Admin_model->get_offer_id($campaign_id,$uid); //var_dump($offer_id); 
      $buyer_receipt = $this->Admin_model->get_buyer_receipt_by_offer_id($offer_id); //var_dump($buyer_receipt); 

      $data1 = array(
      "job_id" => $job_id,  
      "uid" => $uid, 
      "campaign_id" => $campaign_id, 
      "campaign_name" => $campaign_name, 
      "offer_id" => $offer_id, 
      "buyer_receipt" => $buyer_receipt, 
      ); 

     } 


     $data['data1'] = $data1; 

     $data['page_title'] = 'Banker Offers list - PinkStar'; 
     $this->load->view('admin/banker_offers_list',$data); 
    } 

マイビュー:

<?php 
    if(count($data1) > 0){ 
    foreach ($data1 as $d){ 
     $job_id = $d['job_id']; 
     $campaign_id = $d["campaign_id"]; 
     $buyer_receipt = $d['buyer_receipt']; 
    ?> 
     <tr> 
      <td> 
      <?php 
       echo '#'.$d['offer_id']; 
      ?> 

      <td> 
      <?php 
       echo $d['campaign_name']; 

      ?> 
      </td> 

      <td> 
       <a href="<?php echo base_url(); ?>admin/admin/banker_campaign_details/<?php echo $campaign_id; ?>" target="_blank"> 
       View Campaign Details</a> 
      </td> 
      <td> 
      <?php 
       $index = stripos($buyer_receipt,'*'); 
       $filename = substr($buyer_receipt, 0, $index); ?> 
       <a href="<?php echo base_url(); ?>upload/home/staffs/<?php echo $filename; ?>">Download Receipt</a> 

      </td> 
      <td> 
       <a href="<?php echo base_url(); ?>admin/admin/partner_download_receipt">Download PDF 
       </a> 
      </td> 
     </tr> 
    <?php 
    } 
}else{ ?> 
    <tr><td colspan="6" class="no_records">There are no records available!</td></tr> 
<?php } ?> 
+0

https://codereview.stackexchange.com/をご覧ください。 https://codereview.stackexchange.com/をご覧ください。 – Calimero

+0

コントローラで '$ data'を設定し、' $ data1'を取り出して表示していますか?それはどのように可能ですか? –

+0

@Calimero CRで、私たちは作業コードだけを扱うので、この質問は話題になります – Heslacher

答えて

1
は(変更がコメントしている)のように、以下のコードを変更

: -

コントローラでは: -

public function banker_offers_list() { 

    $banker_id = $this->session->userdata('adminid'); 
    $jobs = $this->Admin_model->get_all_partner_jobs($banker_id); 
    $data['data1'] = []; //create an empty array 
    foreach($jobs as $item) 
    { 
     $job_id = $item['job_id']; 
     $uid = $item['uid']; 
     $campaign_id = $item['campaign_id']; 
     $campaign_name = $this->Admin_model->get_campaign_name_by_id($campaign_id); 
     $offer_id = $this->Admin_model->get_offer_id($campaign_id,$uid); //var_dump($offer_id); 
     $buyer_receipt = $this->Admin_model->get_buyer_receipt_by_offer_id($offer_id); //var_dump($buyer_receipt); 

     $data['data1'][] = array(
     "job_id" => $job_id,  
     "uid" => $uid, 
     "campaign_id" => $campaign_id, 
     "campaign_name" => $campaign_name, 
     "offer_id" => $offer_id, 
     "buyer_receipt" => $buyer_receipt, 
     ); //assign value to array 

    } 

    $data['page_title'] = 'Banker Offers list - PinkStar'; 
    $this->load->view('admin/banker_offers_list',$data); 
} 

このコードだけを変更してください: -

<?php 
if(count($data['data1']) > 0){ 
foreach ($data['data1'] as $d){ 
    $job_id = $d['job_id']; 
    $campaign_id = $d["campaign_id"]; 
    $buyer_receipt = $d['buyer_receipt']; 
?> 
関連する問題