Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/01/2010, 17:22
expecimen
 
Fecha de Ingreso: octubre-2006
Ubicación: Ciudad Ojeda, Venezuela
Mensajes: 123
Antigüedad: 17 años, 6 meses
Puntos: 0
Busqueda Tabla dinamica para sacar Cuenta en php??

Hola de nuevo a todo... este ves les molesto para saber si alguien tiene alguna idea, recurso o script ya sea en php o ajax que me pueda ayudar en lo quiero hacer, requiero un cuadro en donde se puedan agregar y eliminar filas con un menu despegables con años y sacar una cuenta y luego poder ser registrado en una base de datos.

AGREGADO: bueno gracias por su colaboracion pero analizando todo he estado pensado que seria bueno que fueramos por parte:

1. Las tablas a usar: yo voy a usar 2 tablas uno llamado vehículo que es en donde se cargara los datos y cuenta que es donde estar los datos para sacar la cuenta la base de datos se llamara REGISTRO

Código:
CREATE TABLE `vehiculo` (
`id` int(100) unsigned NOT NULL auto_increment,
`patente` varchar(100) default NULL,
`firstname` varchar(100) default NULL,
`cedularif` varchar(100) default NULL,
`tipov` varchar(100) default NULL,
`placa` varchar(10) default NULL,
`observacion` varchar(100) default NULL,
`calculado` varchar(100) default NULL,
`ceducalcu` varchar(100) default NULL,
`revisado` varchar(100) default NULL,
`cedurevisado` varchar(100) default NULL,
`revisado` varchar(100) default NULL,
`anioss` varchar(4) default NULL,
`aniosanu` varchar(100) default NULL,
`subtotal` varchar(4) default NULL,
`tasa` varchar(100) default NULL,
`total` varchar(4) default NULL,
`fecha` date NOT NULL, 
  PRIMARY KEY  (`id`),
  UNIQUE KEY `placa` (`placa`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
los datos en donde se volcara los datos al momento se hacer el registro sera:

Código:
`anioss` varchar(4) default NULL,
`aniosanu` varchar(100) default NULL,
`subtotal` varchar(4) default NULL,
`tasa` varchar(100) default NULL,
`total` varchar(4) default NULL,
* La tabla cuenta estaran los datos que vamos a usar en nuestro formulario dinamico:

Cita:
CREATE TABLE `cuenta` (
`id` int(100) unsigned NOT NULL auto_increment,
`anio` varchar(100) default NULL,
`precio` varchar(100) default NULL,
`fecha` date NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `placa` (`ano`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

El calculo seria asi: el año al seleccionarlo daria el valor de CO2 multiplicado por la variante de 20 que daria el resultado de CO3 para luego sumar con la TASA y daria el total como muestra la imagen.

Cada año tiene un valor diferente ya que ha variado el costo de los impuesto es decir que.

2006= 33,600
2007= 37,632
etc
etc..

Esta tabla tendría tres opciones

1. Tabla dinamica con php, java script o ajax
2. registro en la base de datos
3. calculo


NOTA: imagen referencia que realice para darme a explicar mucho mejor



Gracias por la ayuda que me puedan proporcionar... prometo subir lo script original para que todo lo puedan usar ya que no seria un trabajo de uno sino de varios de lo que estan en este foro..

PRIMER PASO: vamos ha hacer la tabla dinámica para que este pueda agregar y eliminar filas (si alguien puede hacer todo de una vez mejor pero mientras vamos por parte asi vamos aprendiendo)

He conseguido un formulario dinamico en donde puede agregar y quitar filas al parecer esta basado en DHTML claro hay que limpiarlo y enlazarlo a la base de datos, agregarles el menu desplegable y cuando uno seleccione un año el dato aparezca en el otro campo de texto que tiene alado (ya estoy trabajando eso) al al parecer era una factura online, asi que tengo que aplicar tecnología inversa

Código PHP:
<head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<
title>Calc</title>
<
script type="text/javascript">
<!--
num=0;
function 
crear(obj) {
num++;
fi document.getElementById('fiel'); // 1
contenedor document.createElement('div'); // 2
contenedor.id 'div'+num// 3

fi.appendChild(contenedor); // 4

ele document.createElement('input'); // 5
ele2 document.createElement('input'); // 5
ele3 document.createElement('input'); // 5
ele4 document.createElement('input'); // 5

ele.type 'text'// 6
ele.name 'item[]'// 6
ele.size 5;
contenedor.appendChild(ele); // 7

ele2.type 'text'// 6
ele2.name 'desc[]'// 6
ele2.size 100;
contenedor.appendChild(ele2); // 7

ele3.type 'text'// 6
ele3.name 'precio[]'// 6
ele3.size 7;
ele3.onkeyup = function(){addHiddenNeto(this.value)}
ele3.onfocus = function(){setHiddenNeto(this.value)}
contenedor.appendChild(ele3); // 7



ele4.type 'button'// 6
ele4.value 'Borrar'// 8
ele4.name 'div'+num// 8
ele4.id num;
ele4.onclick = function () {borrar(this.namethis.parentNode)} // 9
contenedor.appendChild(ele4); // 7
}

function 
borrar(objgetP) {
getP.childNodes[2].value;
if(
== ""){0;}
document.form1.neto.value parseFloat(document.form1.neto.value)-parseFloat(P);
fi document.getElementById('fiel'); // 1
fi.removeChild(document.getElementById(obj)); // 10
setNeto();
}
function 
addHiddenNeto(n){
if(
n==""){n=0;}
document.form1.neto.value document.form1.neto.value-document.form1.hiddenNeto.value;
document.form1.hiddenNeto.value n;
document.form1.neto.value roundNumber(eval(parseFloat(document.form1.neto.value)+parseFloat(document.form1.hiddenNeto.value)),2);
setNeto();
}
function 
setHiddenNeto(n){
if(
n==""){n=0;}
document.form1.hiddenNeto.value n;
setNeto();
}
function 
setNeto(){
if(
document.form1.descuento.value == ""){document.form1.descuento.value 0;}
document.form1.tsi.value roundNumber(parseFloat(document.form1.neto.value)-parseFloat(document.form1.descuento.value),2);
//Se tiene que calcular por 0.19 ya que la matematica para 19% es esa.
document.form1.tci.value roundNumber(parseFloat(document.form1.tsi.value)+(parseFloat(0.19) * parseFloat(document.form1.tsi.value)),2);
}
function 
roundNumber(rnumrlength) { // Arguments: number to round, number of decimal places
return Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
}
-->
</script>
</head>

<body>

<form name="form1" method="POST">
    <input type="hidden" name="hiddenNeto" value="0">
    <table width="960" height="208" border="0" align="center" bgcolor="#FFFFFF">
        <tr>
            <td colspan="9">
            <table width="881" border="0" align="center">
                <tr>
                    <td width="13">&nbsp;</td>
                    <td width="58">
                    <div align="center" class="Estilo4">
                        Item</div>
                    </td>
                    <td width="628">
                    <div align="center" class="Estilo4">
                        Descripción</div>
                    </td>
                    <td width="82">
                    <div align="center" class="Estilo4">
                        Precio</div>
                    </td>
                    <td width="78"><input name="button" type="button" onclick="crear(this)" value="Crear" /></td>
                </tr>
                <tr>
                    <td colspan="5"><fieldset id="fiel">&nbsp;</fieldset></td>
                </tr>
            </table>
            </td>
        </tr>
        <tr>
            <td width="86" rowspan="5">&nbsp;</td>
            <td width="102" rowspan="5">&nbsp;</td>
            <td width="102" rowspan="5">&nbsp;</td>
            <td width="102" rowspan="5">&nbsp;</td>
            <td width="102" rowspan="5">&nbsp;</td>
            <td width="102" rowspan="5">&nbsp;</td>
        </tr>
        <tr>
            <td width="113">
            <div align="right">
                &nbsp;</div>
            </td>
            <td class="Estilo45">Neto</td>
            <td><label>
            <input name="neto" type="text" id="neto" value="0" readonly> </label>
            </td>
        </tr>
        <tr>
            <td width="113">&nbsp;</td>
            <td class="Estilo45">Desc</td>
            <td>
            <input name="descuento" type="text" id="descuento" onkeyup="setNeto()"></td>
        </tr>
        <tr>
            <td width="113" height="24">&nbsp;</td>
            <td class="Estilo45" height="24">TSI</td>
            <td height="24"><input name="tsi" type="text" id="tsi" readonly></td>
        </tr>
        <tr>
            <td width="113" height="30">&nbsp;</td>
            <td class="Estilo45" height="30">TCI</td>
            <td height="30"><input name="tci" type="text" id="tci" readonly></td>
        </tr>
        </table>
</form>
<p>&nbsp; </p>

</body>

</html> 

Última edición por expecimen; 15/01/2010 a las 00:20