2015-11-12 2 views
-1

Я пытаюсь правильно запросить формат.Как правильно использовать number_format?

Мне нужны все результаты, чтобы иметь «$» спереди и что-то меньшее, чем 300, чтобы добавить '/mo.*' в конец. Это не делает то, что я хотел бы. Есть рекомендации? Заранее спасибо!

public function get_under300_specials() { 
    $this->db->select(' vehicle_specials.type, vehicle_specials.stock_number, inventory.year, inventory.make, inventory.model, inventory.trim, vehicle_specials.price, vehicle_specials.msrp, vehicle_specials.was, vehicle_specials.description, inventory.photos')->from('vehicle_specials')->join('inventory', 'inventory.stock_number = vehicle_specials.stock_number'); 

    $this->db->where("vehicle_specials.price < 300"); 
    $this->db->where('status','active'); 
    //return $this->db->get(); 

    $results = $this; 
    foreach ($results as $key => $result) { // Format number 
     $results[$key]['price'] = '$' . number_format($result['price']) . (($result['price'] < 300) ? '/mo.*' : ''); 
    } 
    return $results->db->get(); 
} 
+1

что, молитесь, хотите ли вы это сделать. Или мы все догадаемся? –

+0

Каков ожидаемый формат? –

+0

Кажется, здесь хорошо. Какие значения вы проверили? –

ответ

0

Не зная, какие рамки вы работаете с, я предполагаю, что проблема в том, что вы не получаете данные из базы данных, прежде чем вы уже пытаетесь отформатировать.

public function get_under300_specials() { 
    $this->db->select(' vehicle_specials.type, vehicle_specials.stock_number, inventory.year, inventory.make, inventory.model, inventory.trim, vehicle_specials.price, vehicle_specials.msrp, vehicle_specials.was, vehicle_specials.description, inventory.photos')->from('vehicle_specials')->join('inventory', 'inventory.stock_number = vehicle_specials.stock_number'); 

    $this->db->where("vehicle_specials.price < 300"); 
    $this->db->where('status','active'); 

    $results = $this->db->get(); // this might require a table to get data from 

    // assuming get()-method returns array, not object 
    // futher more, if there is 'price' field already in object, it would be good practice to not to overwrite it if not necessary. Thus, using price_str 

    foreach ($results as $key => &$result) { // Format number 
     $result['price_str'] = '$' . number_format($result['price']); 
     if(intval($result['price']) < 300) 
      $result['price_str'] .= "/mo.*"; 
    } 

    return $results; 
} 
Смежные вопросы