2016-12-27 116 views
0

我有这种表的如何合并两个不同阵列的两个不同的值在PHP笨

aa

我想这样

a

我已经赚得菜取数据名称(文本),但我也需要它的ID在一个单一的数组,我怎么能这样做? 我的代码如下: 控制器: -

function fetch() 
    { 
     $this->load->model('fetch'); 
     $d=$this->fetch->call(); 
     $e=$d->result(); 
     $max=$d->num_rows(); 
     for($i=0;$i<$max;$i++){ 
      $a[$i]=$e[$i]->product; 
      $a2[$i]=$e[$i]->id; 
      $b[]=explode(',',$a[$i]); 
     } 
     echo '<pre>'; 
     print_r($a2); 
     $array['arr'] = call_user_func_array('array_merge', array_map('array_values', $b)); 
     $this->load->view('display',$array); 
    } 

型号: -

function call() 
    { 
     $this->db->select('*'); 
     $this->db->from('ruff'); 
     $query = $this->db->get(); 
     if ($query->num_rows() > 0) { 
      return $query; 
     } else { 
      return false; 
     } 
    } 

查看: -

<body> 
<input type="text" name="item" id="txt_search" list="item_list"> 
<datalist id="item_list"> 
    <?php 
     foreach($arr as $a) 
     { 
      echo "<option>".$a."</option>"; 
     } 
    ?> 
</datalist> 
</body> 

在此先感谢。

回答

0

在你的控制器试试这个...代码

$this->load->model('fetch'); 
    $d=$this->fetch->call(); 
    $e=$d->result_array(); 
    // $max=$d->num_rows(); 
    $products=''; 
    foreach ($e as $p) { 
     $products.=$p['product']; 
    } 

    $data=explode(',', $products); 

    echo '<pre>'; 
    print_r($data); 
    echo '</pre>'; 
0

通常访问数据库功能的控制器是不是一个好的做法。因此,为了满足计数物品的需要,您可以更改模型以返回一系列物品。

型号:

function call() 
{ 
    $data = array(); 

    $this->db->select('*'); 
    $this->db->from('ruff'); 
    $query = $this->db->get(); 

    if ($query->num_rows() > 0) { 
     foreach($query->result() as $row){ 
      $data[] = (array)$row; 
     } 
     return $data; 
    } else { 
     return false; 
    } 
} 

然后,在你的控制器fetch功能,可以在爆炸现场product并创建另一个阵列递交给您的视图。

控制器:

function fetch() 
{ 
    $this->load->model('fetch'); 
    $d=$this->fetch->call(); 

    $list = array(); 

    foreach($d as $row) 
    { 
     $products = explode(',', $row['product']); 
     foreach($products as $p) 
     { 
      $list[] = array('id' => $row['id'], 'product' => $p); 
     } 
    } 

    $this->load->view('display',array('arr' => $list)); 
} 

这将导致你有一个像下面的一个数组:

Array 
(
[0] => Array 
    (
     [id] => 1 
     [product] => veg. burger 
    ) 

[1] => Array 
    (
     [id] => 1 
     [product] => non-veg burger 
    ) 

[2] => Array 
    (
     [id] => 1 
     [product] => chees burger 
    ) 

[3] => Array 
    (
     [id] => 2 
     [product] => vadapau 
    ) 

[4] => Array 
    (
     [id] => 2 
     [product] => butter vadapau 
    ) 

[5] => Array 
    (
     [id] => 2 
     [product] => chees vadapau 
    ) 
) 

现在你的ID是提供你的看法。

查看:

<body> 
    <input type="text" name="item" id="txt_search" list="item_list"> 
    <datalist id="item_list"> 
    <?php 
     foreach($arr as $a) 
     { 
      echo "<option>".$a['product']."</option>"; 
      //$a['id'] 
     } 
    ?> 
    </datalist> 
</body> 
0

这里是你的模型代码。

public function call() 
{ 
    $query = $this->db->select("id,product") 
         ->from("stuff") 
         ->get(); 
    if ($query->num_rows() > 0) { 
     return $query->result_array(); 
    } else { 
     return false; 
    } 
} 

现在您将在控制器中获得结果数组数据。这是控制器功能。

public function fetch() 
{ 
    $this->load->model('fetch'); 

    $result = $this->fetch->call(); 
    foreach ($result as $value) { 
     $newArr = explode(',',$value['product']); 
     foreach ($newArr as $val) { 
      $productArray[] = array('productID'=>$value['id'],"product"=>$val); 
     } 
    } 
    $data['finalArray'] = $productArray; 
    $this->load->view('display',$data); 

} 

现在访问视图中的最终产品数组。这里是视图代码。

<input type="text" name="item" id="txt_search" list="item_list"> 
<table id="item_list" border="1"> 
    <?php 

     foreach($finalArray as $stuffs) 
     { 
      echo "<tr>"; 
      echo "<td>".$stuffs['productID']."</td>"; 
      echo "<td>".$stuffs['product']."</td>"; 
      echo "</tr>"; 
     } 
    ?> 
</table> 

干杯!

0

它非常简单的代码,请下面的代码 模型下面的代码:

型号: -

function call() { return $this->db->get('ruff')->result_array(); }

这个代码给你所有的数据现在控制器代码象下面

控制器: -

function fetch() { $this->load->model('fetch'); $array['arr'] = $this->fetch->call(); $this->load->view('display',$array); }

这个代码给你所有的数据现在控制器代码象下面

控制器: -

function fetch() { $this->load->model('fetch'); $array['arr'] = $this->fetch->call(); $this->load->view('display',$array); } 这个代码给你所有的数据现在控制器代码象下面

控制器: -

function fetch() { $this->load->model('fetch'); $array['arr'] = $this->fetch->call(); $this->load->view('display',$array); }

现在请写代码在视图中 查看: -

` 这个代码给你所有的数据现在控制器代码象下面

控制器: - function fetch() { $this->load->model('fetch'); $array['arr'] = $this->fetch->call(); $this->load->view('display',$array); }

现在可以写代码视图 查看: -

<body> <input type="text" name="item" id="txt_search" list="item_list"> <datalist id="item_list"> <?php foreach($arr as $value){ $newarray=explode(',',$value); foreach($newarray as $test) { echo "<option value=".$arr['id'].">".$test['product']."</option>"; } } ?> </datalist> </body>

我认为这段代码将帮助你 谢谢