Cita:
Iniciado por juanmartincba
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);
}
}
}
?>