Foros del Web » Programando para Internet » PHP »

Hacer un formulario dinamico

Estas en el tema de Hacer un formulario dinamico en el foro de PHP en Foros del Web. Hola amigos del foro ... tengo el siguiente formulario para capturar informacion: Código PHP: $conn  =  conectar ();  // Llama a la funcion de conexion a la BD            $sql1  = ( "select c.idcont from contabilizacion c where c.idcont <> null or c.idcont = null or c.idcont > 0" );          $respu1  ...
  #1 (permalink)  
Antiguo 22/09/2005, 07:32
 
Fecha de Ingreso: agosto-2005
Mensajes: 192
Antigüedad: 12 años, 3 meses
Puntos: 0
Hacer un formulario dinamico

Hola amigos del foro ... tengo el siguiente formulario para capturar informacion:

Código PHP:
$conn conectar(); // Llama a la funcion de conexion a la BD 
         
$sql1 = ("select c.idcont from contabilizacion c where c.idcont <> null or c.idcont = null or c.idcont > 0");         

$respu1 mysql_query($sql1); 
$res1 mysql_num_rows($respu1); 

if(
$res1 == 0){ 

$sql1 "insert into contabilizacion (idcont, numdoc, codcuenta, nitcontab, indcucontab, debito, credito, vrbase, detacontab, naturaleza) values ('$idcont', '$numdoc', '$codcuenta', '$nitcontab', '$indcucontab', '$debito', '$credito', '$vrbase', '$detacontab', '$naturaleza')"
$respu1 mysql_query($sql1); 


Esta es la Tabla:

CREATE TABLE contabilizacion
(
idcont int NOT NULL AUTO_INCREMENT,
numdoc varchar(5) NOT NULL,
codcuenta varchar(8) NOT NULL,
nitcontab varchar(11) NOT NULL,
indcucontab varchar(2) NOT NULL,
debito double,
credito double,
detacontab text,
vrbase double,
naturaleza char(1),
PRIMARY KEY (idcont),
INDEX (numdoc),
FOREIGN KEY (numdoc) REFERENCES documento(numdoc) ON UPDATE CASCADE ON DELETE CASCADE,
INDEX (codcuenta),
FOREIGN KEY (codcuenta) REFERENCES cuentas(codcuenta) ON UPDATE CASCADE ON DELETE CASCADE
) TYPE = INNODB;

Necesito que este formulario sea dinamico, osea que en mi pagina exista un boton que se llame agregar
que me permita adicionar varios formularios en mi pagina y al final haya un boton aceptar que inserte
todos los item en mi BD.

El codigo de ayuda es el siguiente ... pero la verdad estoy un poco confundido.

Código PHP:
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 

<script language="javascript"> 

data="<input type='text' name='numdoc[]' id='numdoc' class='txtBoxStyle' size='10'><a hre='#' onClick='DeleteRow(this)'> <img src='SIGDOC/ICONOS/SUBMIT.GIF' border='0'></a><input type='radio' name='cierto' id='cierto'>"; 

function AddRowsToTable(code) //no necesario pero en caso de que quieras agregar otra cosa 

    var tbl = document.getElementById('tblSample'); 
    var lastRow = tbl.rows.length; 
    var row = tbl.insertRow(lastRow); 
    var cellRight = row.insertCell(0); 
    cellRight.innerHTML=code; 


function DeleteRow(x) 

    while (x.tagName.toLowerCase() !='tr') 
    { 
        if(x.parentElement) 
            x=x.parentElement; 
        else if(x.parentNode) 
            x=x.parentNode; 
        else 
    return; 
    } 

    var rowNum=x.rowIndex; 

    while (x.tagName.toLowerCase() !='table') 
    { 
    if(x.parentElement) 
        x=x.parentElement; 
    else if(x.parentNode) 
        x=x.parentNode; 
    else 
    return; 
    } 
    x.deleteRow(rowNum); 


function RemoveRowFromTable(rowid) { 
    //alert("sadfs"); 
    var tbl = document.getElementById(iteration); 
        //var lastRow = tbl.rows.length; 
        //if (lastRow > 1) 
        tbl.deleteRow(rowid); 



function este() 
{
    elem=document.all?document.all.numdoc:document.getElementById('numdoc');
        
    if(elem.length){
        elem[elem.length-1].focus();
    }else{
        elem.focus();
    }
}
</script> 

</head> 

<body> 
<form id="formulario" name="formulario" method="post" action="<?=$_SERVER['PHP_SELF']?>"> 
<table cellpadding="0" cellspacing="0" width="304" border="0"> 
    <tr> 
        <td> 
        Respuestas:&nbsp;<input name="button" type="button" onClick="AddRowsToTable(data);este();return false;" value="+" class="Buttonforms"></td> 
         
        </td> 
    </tr> 
    <tr> 
        <td> 
            <table cellpadding="1" cellspacing="0" width="100%" id="tblSample" border="0"> 
            </table> 
        </td> 
    </tr> 
    <tr> 
        <td> 
        <hr> 
        <input type="submit"> 
        </td> 
    </tr> 
</table> 
<hr> 

<?php 
//obtener valores de numdoc 
$numdoc=isset($_POST['numdoc'])?$_POST['numdoc']:array(); 

//answers 
echo('<b>Valores de numdoc[]</b>:<br>'); 
foreach(
$numdoc as $ans){ 
    echo(
$ans.' <br>'); 

?> 
</form> 
</body> 
</html>
Como lo convierto a dinamico? ... como lo haria ahora ???? ** teniendo presente que ahora no solo voy a insertar un item sino todos los que vaya agregando ..... hasta N.

Gracias por tu colaboracion;
  #2 (permalink)  
Antiguo 22/09/2005, 08:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te recomendaría ver sobre "AJAX" .. revisa este foro (aunque ya usas parte con el DHTML que usas):

http://www.forosdelweb.com/forumdisp...ysprune=1&f=77

Lo que pretendes hacer "dinámico" en PHP implicaría recargas de páginas constantes (a cada iten que añadas) .. Vía "AJAX" sería lo más parecido a lo que haces habitualmente con lenguajes de programación de "escritorio" (con las "grillas" y demás de estos).

También tiene "grillas" en DHTML completo como por ejemplo:
http://www.activewidgets.com/


Un saludo,

Última edición por Cluster; 22/09/2005 a las 08:07
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 19:35.