⚠ In case you've missed it, we have migrated to our new website, with a brand new forum. For more details about the migration you can read our blog post for website migration. This is an archived forum. ⚠

  •     

profile picture

Operaciones aritmeticas con Grocery crud



Hector Davila
  • profile picture
  • Member

Posted 03 April 2015 - 17:59 PM

Un gran saludo a todos y que Dios los Bendiga siempre...

 

Es mi primer Post y lo escribo en español (el que quiera lo puede pasar a ingles respetando la autoria )

 

He leido que hay usuarios que necesitan como hacer operaciones aritmeticas con grocery crud. 

 

Esta es una manera (solo colocare el código).

 

 

 

<? if ( ! defined('BASEPATH')) exit('No direct script access allowed');
 
class Prod_ter_gc extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->helper('url');
$this->load->database();
$this->load->library('grocery_crud');
//***************para tomar un valor de una funcion del model **************
$this->load->model('iva_model');
//************************************************************************* **************

 

}
public function index()
{
 
redirect('prod_ter_gc/prodgc');
}
 
public function prodgc()
{
try {
/* Creamos el objeto */
   $crud = new grocery_CRUD();
 
    $crud->set_theme('bootstrap');
     $crud->set_table('t_producto_terminado');
 
    $crud->set_subject('producto terminado');
$crud->set_language('spanish');
   $crud->columns('PRODUCTO','PRECIO_NETO','IVA', 'TOTAL');
   //***************para cambiar los inputs por defecto**************
   $crud->callback_add_field('PRECIO_COMPRA',array($this,'add_field_callback_1'));
   $crud->callback_add_field('GANANCIA',array($this,'add_field_callback_2'));
   $crud->callback_add_field('PRECIO_NETO',array($this,'add_field_callback_3'));
   $crud->callback_add_field('IVA',array($this,'add_field_callback_4'));
   $crud->callback_add_field('TOTAL',array($this,'add_field_callback_5'));
 /***********************************fin*****************************/
$crud->required_fields('PRODUCTO','CANTIDAD','GANANCIA','IVA','PRECIO_COMPRA','IVA');
 
       /* Generamos la tabla */
    $output = $crud->render();
    
 
    //***********cargamos las vistas**************
         $this->load->view('../../assets/inc/head_common');
         $this->load->view('../../assets/inc/menu_principal');
         $this->load->view('producto_terminado/producto_terminado',$output);
   
 
         
    } catch (Exception $e) {
show_error($e->getMessage().' --- '.$e->getTraceAsString());
}
 
} // cierra la funcion
 
//*********************************************************************************************************************************************************************
//*****************************************************los cambios de los imput para sumarlos (en agregar)*********************************************
 
function add_field_callback_1() //PRECIO COMPRA
{
    return  ' <input name="PRECIO_COMPRA" type="text" class="form-control">';
}
function add_field_callback_2() //GANANCIA
{
 
      return ' <input onkeyup="this.form.PRECIO_NETO.value = ((parseInt(this.form.PRECIO_COMPRA.value)*
      (parseInt(this.value)))/100+parseInt(this.form.PRECIO_COMPRA.value))" name="GANANCIA" 
   class="form-control" >';
}
 
function add_field_callback_3() //PRECIO_NETO
{
     $dato= $this->iva_model->Obtener_iva();
  return ' <input onkeyup="this.form.IVA.value = ((((parseInt(this.value))*
  ('.$dato->result()[0]->IVA.'))/100))" name="PRECIO_NETO" class="form-control" readonly>';
}
 
function add_field_callback_4() //IVA
{
 
   return '<input onkeyup="this.form.TOTAL.value = parseFloat(this.value)+
   parseFloat(this.form.PRECIO_NETO.value)" name="IVA" class="form-control" readonly>';
}
 
function add_field_callback_5()//TOTAL
{
 
  return ' <input name="TOTAL" type="text" readonly class="form-control" >'; 
 
}
 
 

//*********************************************************************************************************************************************************************

 Espero que a alguien les sirva...

 

Cualquier duda pregunten que aquí estamos todos para ayudarnos.

 

Que Dios los bendiga.

 


SerGio Ornelas
  • profile picture
  • Member

Posted 12 April 2015 - 02:53 AM

Que tal amigo, primeramente muchas gracias por compartir tu conocimiento.

Bien, mira soy nuevo en esto de grocery crud y necesito hacer que mi pagina haga algo relacionado a este post. Te explico:

Se llena un formulario con datos de salud personal (creado por grocery crud claro) 2 de esos datos son: medida de la altura y el peso. Se necesita calcular el indice de masa corporal con estos dos datos y que aparezca un mensaje o texto que diga la condición en la que se encuentra (peso bajo, peso normal, obecidad, etc.). el problema aqui es que no se como tomar los datos y hacer este proceso. Cabe señalar que el mensaje solo es ilustrativo/calculable no se guarda en la BD.

De antemano muchas gracias :D  


Hector Davila
  • profile picture
  • Member

Posted 18 April 2015 - 02:43 AM

Saludos amigo y que Dios te bendiga...

 

mil disculpas por no responder de inmediato (no se por que no llegan las replicas al email)

 

lo que se me ocurre es crear un if condicional que te indique si el calculo del peso es bajo, normal, obeso lo muestre en una ventana modal...

 

algo asi seria:

 

if(peso<50) {

aqui envias la ventana modal indicando que es delgado}

else{

if(peso>50||peso<100){

aqui envias la ventana modal indicando peso normal }

 

}

 

Espero haberte ayudado en algo...

no olvides darle like para ayudar a otros usuarios...

 

Saludos de nuevo...


Francisco Bruzatt
  • profile picture
  • Member

Posted 09 July 2015 - 07:30 AM

Hola hector consulta yo como puedo hacer validaciónes en grocery y tienes un correo o Facebook para hablarle

Francisco Bruzatt
  • profile picture
  • Member

Posted 09 July 2015 - 18:01 PM

como deberia ser la consulta en el modelo.?


Hector Davila
  • profile picture
  • Member

Posted 09 July 2015 - 20:46 PM

Saludos Francisco Escribeme al Email hectordav@gmail.com es un gusto ayudarte....