Foros del Web » Programando para Internet » PHP »

Cakephp Registrar datos consultados a otra tabla de la BD / Sumar datos de diferentes tablas

Estas en el tema de Registrar datos consultados a otra tabla de la BD / Sumar datos de diferentes tablas en el foro de PHP en Foros del Web. Hola soy nueva el uso del Framework Cakephp 1.3.11, asi q sty teniendo algunos inconvenientes, y la verdad no hay mucha documentacion detallada del mismo. ...
  #1 (permalink)  
Antiguo 18/09/2011, 19:04
Avatar de Jennydmz  
Fecha de Ingreso: septiembre-2011
Ubicación: La Paz - Bolivia
Mensajes: 4
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Registrar datos consultados a otra tabla de la BD / Sumar datos de diferentes tablas

Hola soy nueva el uso del Framework Cakephp 1.3.11, asi q sty teniendo algunos inconvenientes, y la verdad no hay mucha documentacion detallada del mismo. Mi problema es que necesito mostrar los datos de un registro de mi tabla clientes (nombre) y otro de mi tabla deudas (monto, saldo) dentro del formulario de registro de los pagos que ese cliente realiza, pero no encuentro como hacerlo, no quiero mostrarlos como select o combobox, sino masbien quiero q se muestren los datos de el cliente especifico como cuando se edita un registro (mostrando la informacion en inputs o labels).

Me vendria muy bien una mano en ese aspecto, ademas d como sumar datos de diferentes tablas: deudas (saldo) con pagos (monto) bueno en ese caso quiero restar el monto del pago del saldo de la deuda...

ayuda porfavor que sty en una pelea contra el tiempo...

Les agradesco de antemano...
  #2 (permalink)  
Antiguo 18/09/2011, 19:55
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Registrar datos consultados a otra tabla de la BD / Sumar datos de diferen

Jennydmz, bienvenida a FDW, por favor trata de escribir correctamente para entendernos mejor, no se cobran las palabras ni hay un limite pequeño de caracteres como para hacer esto tipo SMS o Telegrafo.

Ahora, si muestras el codigo que tienes ahora seria mas facil tratar de ayudarte, sobre todo si estas contra el tiempo, debes ser lo mas especifica posible para ver si alguien entiende lo que necesitas y te dice como solucionarlo.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 18/09/2011, 20:50
Avatar de Jennydmz  
Fecha de Ingreso: septiembre-2011
Ubicación: La Paz - Bolivia
Mensajes: 4
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Registrar datos consultados a otra tabla de la BD / Sumar datos de diferen

Bueno Triby primero muchas gracias por la bienvenida, y segundo siento escribir asi, es la costumbre y sumado a esto el apuro, pero de hoy en mas voy a escribir bien para podernos entender a la perfeccion, de todas maneras muchas gracias por la observacion.

Respecto a mi pregunta:

Ok. estube intentando hacer una edicion a una tabla al hacer el registro en otra, pero no me sale y no encuentro el como en los tutoriales, explico mejor el problema:

Tengo dos tablas relacionadas con hasmany:

- productos - tiene muchos - stocks -

(puse el hasmany en el modelo de la tabla producto: Producto.php:

Código PHP:
Ver original
  1. <?php
  2. class Producto extends AppModel{
  3.     var $name = 'Producto';
  4.     var $hasMany = array(
  5.                          'Stock' => array(
  6.                          'className' => 'Stock',
  7.                          'foreignKey' => 'producto_id',
  8.                          'dependent' => true));  
  9. }
  10. ?>

y "belongsto" en el modelo de la tabla stocks: Stock.php. Bueno ese no es el problema )

En si lo que quiero almacenar en estas tablas es:

Productos -> id, las caracteristicas principales del producto y un campo cantidad

Stocks -> id_producto, cantidad, fecha_ingreso_stock.

Osea se registraria un producto una sola ves y muchas veces los stocks que ingresen del mismo.

Entonces lo que quiero es que al registrar un nuevo stock, se sume la cantidad del mismo a la cantidad que se tenga en la tabla productos.

Lo que intente hacer fue llamar a la funcion editcantidad() desde el add.ctp del nuevo stock, funcion que me creé en el controlador de mi tabla productos (productos_controller.php), en dicha funcion trato de usar un query directo a la bd:

Código PHP:
Ver original
  1. productos_controller.php
  2.  
  3.  function editcant($id = null, $cantidad = null)
  4. {
  5.     $this->Producto->id_producto = $id;
  6.     if (!empty($this->data))
  7.     {
  8.      $this->Producto->query(UPDATE TABLE productos SET cantidad = cantidad + $cantidad WHERE id = '$id')
  9.     }
  10. }

mandandole el id del producto del cual se registra el nuevo stock y la cantidad del stock.

La verdad no me funciona y me da errores asi que supongo algo o mucho esta mal, talves mi paso de datos, de todas formas lo hice asi:

solo llame a la funcion editcant() desde add.ctp

Código PHP:
Ver original
  1. views/stocks/add.ctp
  2.  
  3. <br><h2>Registro de Stocks </h2>
  4.  
  5. <?php echo $form->create('Stock');?>
  6.  
  7. <?php echo $this->Form->create('Producto', array('action' => 'edit'));?>
  8.  
  9. <?php echo $id = $form->input('producto_id', array('type'=> 'select', 'label'=> 'Producto:  ', 'default'=> "", 'empty' => __('Selecciona un producto...', true)));?>
  10.  
  11. <?php echo $cantidad = $form->input('cantidad', array('type'=> 'text', 'label'=> 'Cantidad:  ', 'default'=> "", 'maxlength'=> '7', 'size'=>10)); ?>
  12.  
  13. <?php echo $form->input('fecha', array('dateFormat' => 'DMY','type'=> 'date', 'label'=> 'Fecha:  ', 'selected' => strtotime ('today'), 'empty' => false));?>
  14.  
  15. <?php echo $form->end('Registrar Stock');?>


En si pense que se podia enviar los datos introducidos en los input almacenandolos en dos variables $id y $cantidad, variables que recibo en la funcion, pero no me funciona, porfa una manito con esto que estoy intentandolo dias y estoy trancada en esto....PORFA!!!!

Gracias d antemano...
  #4 (permalink)  
Antiguo 18/09/2011, 22:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Registrar datos consultados a otra tabla de la BD / Sumar datos de diferen

Bueno, a simple vista, tienes este error:

Código PHP:
Ver original
  1. $this->Producto->query(UPDATE TABLE productos SET cantidad = cantidad + $cantidad WHERE id = '$id')

Todo desde UPDATE hasta '$id' debe estar encerrado entre comillas dobles y falta ; al final de la linea.

Lo demas no lo he revisado pero, te sugiero que si PHP te da errores los copies y pegues aqui para solucionar primero los problemas de codigo y ya despues veremos si la logica esta correcta.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 19/09/2011, 15:49
Avatar de Jennydmz  
Fecha de Ingreso: septiembre-2011
Ubicación: La Paz - Bolivia
Mensajes: 4
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Registrar datos consultados a otra tabla de la BD / Sumar datos de diferen

Bueno al intentar registrar un nuevo stock me salen estos errores:

------------------
Notice (8): Undefined index: Stock [APP\models\behaviors\searchable.php, line 77]

Warning (2): Invalid argument supplied for foreach() [APP\models\behaviors\searchable.php, line 78]

Warning (2): Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\sjinve\cake\libs\debugger.php:683) [CORE\cake\libs\controller\controller.php, line 742]

----------------
No se porq me hace referencia a mi funcion searchable.php, si no la estoy llamando en este caso. De todas maneras cabe recalcar q dicha funcion trabaja a la perfeccion...

Gracias...

Última edición por Jennydmz; 19/09/2011 a las 16:12

Etiquetas: cakephp, registar+datos+bd+cake, sumar+datos+de+tablas, sumar+restar+php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:06.