Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/07/2012, 17:08
Avatar de topo_bionico
topo_bionico
 
Fecha de Ingreso: junio-2012
Mensajes: 89
Antigüedad: 11 años, 10 meses
Puntos: 20
Respuesta: Formulario y base de datos. Ingresar datos, validar.

Cita:
Iniciado por juanmartincba Ver Mensaje
Si me das alguna idea o comienzo de como podría hacer me salvarías, esperan que entregue esto hoy..
Para hoy???

Con esto vas a poder ir agregando los campos, son 2 funciones javascript. La primera duplica el campo hasta 25 veces, va incrementando el nombre y lo coloca en un nuevo div llamado "nuevo_campo" y la segunda quita el ultimo campo.
Genera una url así (si el método fuera GET)

valida.php?codigo_0=150000&codigo_1=160000&codigo_ 2=170000

Para llamar las funciones puse dos botones

Fijate que es código a medias como para que te orientes

Código HTML:
<script type="text/javascript">
var d=0;
function duplicarCampo(){
   if (d<24){
	   d=d+1;
	   var IdName = 'codigo_'+d;
	   var IdElem= 'campo_'+d;
	   var obj = document.getElementById("campo_0").cloneNode(true);
	   obj.setAttribute('name',IdName);
	   obj.setAttribute('id',IdElem);
	   document.getElementById("nuevo_campo").appendChild(obj);
	}
}


function quitarCampo() {
    if (d>=1){    
        var elemento='campo_'+d;
        var parent = document.getElementById('nuevo_campo');
        var ult = document.getElementById(elemento);
        parent.removeChild(ult);
        d=d-1;}
}
</script>


<div class="formulario">
	<form action="valida.php" method="post">
	Ingrese los Códigos - <input type="button" value="Agregar Campo" onclick="duplicarCampo()"> <input type="button" value="Quitar Campo" onclick="quitarCampo()"><br/>
	<input type="text" id="campo_0" name="codigo_0"></input>
	<div id="nuevo_campo"></div>
        <input type="submit" value="Cargar">
	</form>
</div> 
Y esto seria el archivo valida.php
Código PHP:
<?php
//Funcion para comprobar que se unico codigo en la DB
function unicoCodigo($valor){
    
$sql='SELECT count(*) FROM `tabla_codigos` WHERE `codigo`='.$valor;
    
$result=  mysql_query($sql$conexion) or die(mysql_error()); //$conexion es la conexion a la base de datos
    
$r=mysql_fetch_array($result);
    if (
$r[0]==0){
        return 
true;
    }
    else return 
false;
}

//funcion para insertar el codigo
function insertCodigo($valor){
    
$sql='INSERT INTO `tabla_codigos` (`codigo`) VALUES (\''.$valor.'\')';
    
mysql_query($sql$conexion) or die(mysql_error());
}


if (
count($_POST)>=25){ //Solamente ingresa si se envían 25 códigos o menos    
        //Obtener códigos
        
$c=0;
        
$codigo='codigo_'.$c
        
$cod=array();
        while (isset(
$_POST[$codigo])){
            if (
$_POST[$codigo_]>=150000 && $_POST[$codigo]<=175000){
                
$v=mysql_real_escape_string($_POST[$codigo]);
                
array_push($cod$v);
            }
            
$c=$c+1;
            
$codigo='codigo_'.$c//Vamos aumentando codigo_0, codigo_1, codigo_2 etc
        
}
        
//Quitamos valores duplicados del array (Ej: 1,1,5,5,6 devuelve 1,5,6)
        
$cod=array_unique($cod);
        
        
//Carga en base de datos, recorremos el array y comprobamos, si es valido lo inserta
        
        
foreach($cod as $valor){
            
//1º Verificamos que no este cargado
            
if (unicoCodigo($valor)){
                
insertCodigo($valor);
            }
        }
    }
?>