2011-09-23 84 views
0

我使用笨,做從關聯數組在我的表中的一些插入和更新操作(這是從外部網站),其中場的數量並不總是一樣插入字段。笨動態數

這是我的代碼。

$url ="http://api.peerindex.net/1/profile/show.json?id=$twittername&api_key=xxxxxx"; 

      $ch = curl_init(); 
      $timeout = 5; 
      curl_setopt($ch,CURLOPT_URL,$url); 
      curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
      curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout); 
      $peerdata = curl_exec($ch); 
      curl_close($ch); 
      if (strlen($peerdata)>10) 
      { 
       $peerdata = json_decode($peerdata); 
       $this->db->where ("userid", $this->userinfo->userid); 
       $this->db->update('userpeerdata', $peerdata); 
       } 

我的表userpeerdata包含大約6列,但某些列不存在。我要的是它應該只對那些存在於數據庫中,其他應忽略列。我怎樣才能簡單地做到這一點。

enter image description here

回答

2

您應該使用Codeigniter's array helper。他們有一個很好的小功能叫elements(),它只會提取你想要的元素:

$this->load->helper('array'); 
$peerdata = json_decode($peerdata); 
// Include a list of all your columns in the table... 
$peerdata = elements(array('name', 'twitter', 'known', 'authority'), $peerdata); 

$this->db->where ("userid", $this->userinfo->userid); 
$this->db->update('userpeerdata', $peerdata); 
+0

謝謝你,它完美的作品。這是我正在尋找的 – AjayR