2015-07-21 57 views
1
This line of code adds two array values into $carRate variable: 

array_push($carRate,array($row['rental_type_value'],$row['rental_by_value'])); 

public function selectRate() 
     { 

      $sql="SELECT * FROM rental_by, rental_type WHERE rental_by.rental_type_id=rental_type.rental_type_id"; 
      $stmt =connection::$pdo->prepare($sql); 
      $stmt->execute(); 
      $carRate=array(); 

      while($row = $stmt->fetch()) 
      { 
       array_push($carRate,array($row['rental_type_value'],$row['rental_by_value'])); 
      } 
      return $carRate; 
     } 

我在另一页像拨打以上功能如何归类2倍数组的值相应地

if(data && data[0].rate) { 
         /*for(var c in data[0].maker) { 
          makers += c + ', '; 
         }*/ 
         rates +="<table>"; 
         $.each(data[0].rate , function(index, value){ 
          console.log(value);       
          rates +="<tr><td>"+ value[0] +"</td><td> : </td><td>"+ value[1] +"</td></tr>"; 
         }); 
         rates +="</table>"; 
        } 
$('#elementForRates').html(rates && rates.trim().replace(/,$/, "") + "." || 'No Rate data available'); 

JSON输出:

["rental_days", "78"] 
["rental_days", "56"] 
["rental_days", "34"] 
["rental_hour", "45"] 
["rental_hour", "67"] 
["rental_hour", "23"] 
["rental_hour", "45"] 
["rental_hour", "67"] 

和这个输出是这样的:

rental_days:78个
rental_days:56个
rental_days:34
rental_hour:45
rental_hour:67
rental_hour:23
rental_hour:45
rental_hour:67

预期结果:

rental_days:78,56,34
rental_hour:45,67,23,45,67

有没有办法在PHP本身进行分类/排序值rental_type_value和租金?

回答

1

假设数据返回是这样的:

var data = [ 
    ['rental_days', '78'], 
    ['rental_hour', '67'], 
    ['rental_days', '56'], 
    ['rental_hour', '45'], 
    ['rental_days', '34'], 
    ['rental_hour', '23'], 
    ['rental_hour', '45'], 
    ['rental_hour', '67']]; 

你可以分类的数据客户端:

var categorized = {}; 
data.forEach(function(d){ 
    if(!!categorized[d[0]]){ 
     categorized[d[0]].push(d[1]); 
    } else { 
     categorized[d[0]] = [d[1]]; 
    } 
}); 

而行添加到表是这样的:

for (var c in categorized) { 
    $('table tr:last').after('<tr><td>' + c + '</td><td>' + categorized[c].join() + '</td></tr>'); 
}; 

看一看这个fiddle

+1

It works ..谢谢 – 112233