Foros del Web » Programando para Internet » PHP »

Resta filas dinamicas

Estas en el tema de Resta filas dinamicas en el foro de PHP en Foros del Web. Buenas tardes, hace ya dos dias que me estoy volviendo loco con este asunto, probe de mil maneras y no lo puedo destrabar. Por favor ...
  #1 (permalink)  
Antiguo 28/05/2013, 13:51
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta Resta filas dinamicas

Buenas tardes, hace ya dos dias que me estoy volviendo loco con este asunto, probe de mil maneras y no lo puedo destrabar.
Por favor necesito una mano, o al menos una idea por donde empezar porque no logro encontrar la solucion.
Dentro de la funcion Eliminar quiero agregar la resta del importe de la fila que se elimino a un total.


Código PHP:
function eliminarFila($id_campo$cant_campos){
 
 
$respuesta = new xajaxResponse();
 
$respuesta->addRemove("rowDetalle_$id_campo"); //borro el detalle que indica el parametro id_campo
 
-- $cant_campos//Resto uno al numero de campos y si es cero borro todo
 
if($cant_campos == 0){
  
$respuesta->addRemove("rowDetalle_0");
  
$respuesta->addAssign("num_campos""value""0"); //dejo en cero la cantidad de campos para seguir agregando si asi lo desea el usuario
  
$respuesta->addAssign("cant_campos""value""0");
 }
    
$respuesta->addAssign("cant_campos""value"$cant_campos);
 return 
$respuesta;

en la funcion agregarFila pude hacer la suma del importe agregado al total de esta manera:

Código PHP:
<?
function agregarFila($formulario){
    
$respuesta = new xajaxResponse();
 
extract($formulario);
 
$id_campos $cant_campos $num_campos+1;
    
$str_html_td1 $cod .'<input type="hidden" id="cod' $id_campos '" name="cod' $id_campos '" value="' $cod '"/>' ;
    
$str_html_td2 $descripcion.'<input type="hidden" id="descripcion' $id_campos '" name="descripcion' $id_campos '" value="' $descripcion '"/>' ;
    
$str_html_td3 $cantidad .'<input type="hidden" id="cantidad' $id_campos '" name="cantidad' $id_campos '" value="' $cantidad '"/>' ;
    
$str_html_td4 $precioconiva .'<input type="hidden" id="precioconiva' $id_campos '" name="precioconiva' $id_campos '" value="' $precioconiva '"/>' ;
    
    
$str_html_td5 $importe.'<input type="hidden" id="importe' $id_campos '" name="importe' $id_campos '" value="' $importe '"/>' ;
    
$str_html_td6 '<img src="imagenes/delete.png" width="16" height="16" alt="Eliminar" onclick="if(confirm(\'Realmente desea eliminar este detalle?\')){xajax_eliminarFila('$id_campos .', proyecto.cant_campos.value);}"/>';
 
 if(
$num_campos == 0){ // creamos un encabezado de lo contrario solo agragamos la fila
  
$respuesta->addCreate("tbDetalle""tr""rowDetalle_0");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_01");    //creamos los campos
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_02");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_03");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_04");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_05");
        
$respuesta->addCreate("rowDetalle_0""th""tdDetalle_06");
        
        
$respuesta->addAssign("tdDetalle_01""innerHTML""Codigo");   //asignamos el contenido
        
$respuesta->addAssign("tdDetalle_02""innerHTML""Descripcion");
        
$respuesta->addAssign("tdDetalle_03""innerHTML""Cantidad");
        
$respuesta->addAssign("tdDetalle_04""innerHTML""P. Unit");
        
$respuesta->addAssign("tdDetalle_05""innerHTML""Importe");
        
$respuesta->addAssign("tdDetalle_06""innerHTML""Eliminar");
         }
    
$idRow "rowDetalle_$id_campos";
    
$idTd "tdDetalle_$id_campos";
 
$respuesta->addCreate("tbDetalle""tr"$idRow);
    
$respuesta->addCreate($idRow"td"$idTd."1");     //creamos los campos
    
$respuesta->addCreate($idRow"td"$idTd."2");
    
$respuesta->addCreate($idRow"td"$idTd."3");
    
$respuesta->addCreate($idRow"td"$idTd."4");
    
$respuesta->addCreate($idRow"td"$idTd."5");
    
$respuesta->addCreate($idRow"td"$idTd."6");
/*
 *     Esta parte podria estar dentro de algun ciclo iterativo  */
 
    
$respuesta->addAssign($idTd."1""innerHTML"$str_html_td1);   //asignamos el contenido
    
$respuesta->addAssign($idTd."2""innerHTML"$str_html_td2);
    
$respuesta->addAssign($idTd."3""innerHTML"$str_html_td3);
    
$respuesta->addAssign($idTd."4""innerHTML"$str_html_td4);
    
$respuesta->addAssign($idTd."5""innerHTML"$str_html_td5);
    
$respuesta->addAssign($idTd."6""innerHTML"$str_html_td6);

 
/*  aumentamos el contador de campos  */


 
$respuesta->addAssign("num_campos","value"$id_campos);
 
$respuesta->addAssign("cant_campos" ,"value"$id_campos);

 
$total += $importe

 return 
$respuesta;

}
Pero si a la funcion Eliminar, le agrego: $total -= $importe;
Me descuenta el ultimo importe y no el de la fila eliminada (en el caso que no sea la ultima porsupuesto)

Desde ya gracias por cualquier ayuda
Saludos!
  #2 (permalink)  
Antiguo 29/05/2013, 01:54
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Resta filas dinamicas

Dentro de la funcion Eliminar quiero agregar la resta del importe de la fila que se elimino a un total. primero tienes que consultar ese registro, obtener el importe, guardarlo en una variable. Luego puedes eliminar el registro y con el valor previamente guardado, restar, sumar o lo que sea que quieras. Sallu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 29/05/2013, 19:31
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Resta filas dinamicas

Hola Repara2, gracias ante todo por responder.
Me podrias indicar como obtener el importe de la fila que se va a eliminar?
en ese punto es donde estoy trabado.
Luego la resta creo que lo puedo hacer solo.
Espero tu respuesta o la de cualquier otra persona que me pueda indicar como hacerlo.

Saludos y gracias!

Última edición por hernan2212; 30/05/2013 a las 19:19
  #4 (permalink)  
Antiguo 30/05/2013, 19:21
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Resta filas dinamicas

Alguien mas?
  #5 (permalink)  
Antiguo 31/05/2013, 03:43
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Resta filas dinamicas

El código que posteas parece creado por alguna app tipo Dreamweaver o similar. Además es una mezcla de POO y programación estructural, No te puedo decir cómo se hace utilizando esos objetos porque no tengo la documentación y en el código que posteas no se ven cuáles son los métodos apropiados. Tendrás que investigar la clase xajaxResponse que se utiliza en tu código. Si aún así no encuentras la solución reescribe las funciones en simple PHP.
Saludos,
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: dinamicas, filas, formulario, restas
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 16:44.