Foros del Web » Programando para Internet » PHP »

se puede aumentar campos a insertar con php ???

Estas en el tema de se puede aumentar campos a insertar con php ??? en el foro de PHP en Foros del Web. hola a todos. tengo una duda la verdad no se si poner esto aqui... y les agradecería me dijeran si es posible hacer con php ...
  #1 (permalink)  
Antiguo 17/07/2009, 00:07
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta se puede aumentar campos a insertar con php ???

hola a todos.

tengo una duda la verdad no se si poner esto aqui... y les agradecería me dijeran si es posible hacer con php (o si no, como )...

el tema es que tengo un form con campos text, en donde el usuario inserta valores que despues van a mi tabla mysql (tipico)...

el tema es que estoy creando un formulario para ingresar curriculums.. (nombre, apellido, etc.... etc ...etc...) y uno de los campos es "experiencia" .. y como unos usuarios tienen mas experiencia que otros.. me gustaria colocar en mi form algun "boton" que al accionar, me AGREGUE un nuevo campo de texto en el form.. asi el usuario podrá insertar mas variables...

espero haberme explicado
gracias a todos por la ayuda que me puedan dar pues no tengo IDEA como se puede hacer esto....
  #2 (permalink)  
Antiguo 17/07/2009, 00:58
 
Fecha de Ingreso: julio-2009
Ubicación: Villa Alemana
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: se puede aumentar campos a insertar con php ???

Hola ,
Sabes tengo el mismo problema que tu, por esas cosas de la vida y por lo que me ha tocado buscar en la web me encontre con parte de tu solucion, sin embargo me falta la otra parte que es la forma que se grabe en la base de datos.

el codigo que tengo y que no es mio, da la posibilidad de ir agregando mas informacion a demanda del visitante.
El codigo se compone de un formulario para ir agregando archivos los cuales se envian a una carpeta en especifico, lo cual lo hace bastante bien, pero el tema es como los guardo en la base de datos...
Se me ha ocurrido que en el mismo "for" se agregue la info a la base de datos, pero como soy algo novicio en el tema de programacion no se si estara bien escrito o exista otra manera de hacerlo.

Este codigo es el formulario.



<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<script type="text/javascript">
var numero = 0; //Esta es una variable de control para mantener nombres
//diferentes de cada campo creado dinamicamente.
evento = function (evt) { //esta funcion nos devuelve el tipo de evento disparado
return (!evt) ? event : evt;
}

//Aqui se hace lamagia... jejeje, esta funcion crea dinamicamente los nuevos campos file
addCampo = function () {
//Creamos un nuevo div para que contenga el nuevo campo
nDiv = document.createElement('div');
//con esto se establece la clase de la div
nDiv.className = 'archivo';
//este es el id de la div, aqui la utilidad de la variable numero
//nos permite darle un id unico
nDiv.id = 'file' + (++numero);
//creamos el input para el formulario:
nCampo = document.createElement('input');
//le damos un nombre, es importante que lo nombren como vector, pues todos los campos
//compartiran el nombre en un arreglo, asi es mas facil procesar posteriormente con php
nCampo.name = 'archivos[]';
//Establecemos el tipo de campo
nCampo.type = 'file';
//Ahora creamos un link para poder eliminar un campo que ya no deseemos
a = document.createElement('a');
//El link debe tener el mismo nombre de la div padre, para efectos de localizarla y eliminarla
a.name = nDiv.id;
//Este link no debe ir a ningun lado
a.href = '#';
//Establecemos que dispare esta funcion en click
a.onclick = elimCamp;
//Con esto ponemos el texto del link
a.innerHTML = 'Eliminar';
//Bien es el momento de integrar lo que hemos creado al documento,
//primero usamos la función appendChild para adicionar el campo file nuevo
nDiv.appendChild(nCampo);
//Adicionamos el Link
nDiv.appendChild(a);
//Ahora si recuerdan, en el html hay una div cuyo id es 'adjuntos', bien
//con esta función obtenemos una referencia a ella para usar de nuevo appendChild
//y adicionar la div que hemos creado, la cual contiene el campo file con su link de eliminación:
container = document.getElementById('adjuntos');
container.appendChild(nDiv);
}
//con esta función eliminamos el campo cuyo link de eliminación sea presionado
elimCamp = function (evt){
evt = evento(evt);
nCampo = rObj(evt);
div = document.getElementById(nCampo.name);
div.parentNode.removeChild(div);
}
//con esta función recuperamos una instancia del objeto que disparo el evento
rObj = function (evt) {
return evt.srcElement ? evt.srcElement : evt.target;
}
</script>


<?php
$variable= $_GET["cod"];
echo "Proceso de Carga de Imagenes para Codigo ".$variable."";

?>

<body>
<form name="formu" id="formu" action="upload.php" method="post" enctype="multipart/form-data">
<dl>
<dt><label>Archivos a Subir:</label>
<input name="cod" type="hidden" id="cod" value="<?php echo $variable ?>" />
</dt>
<!-- Esta div contendrá todos los campos file que creemos -->
<dd><div id="adjuntos">
<!-- Hay que prestar atención a esto, el nombre de este campo debe siempre terminar en []
como un vector, y ademas debe coincidir con el nombre que se da a los campos nuevos
en el script -->
<input type="file" name="archivos[]" /><br />
</div></dd>
<dt><a href="#" onClick="addCampo()">Subir otro archivo</a></dt>
<dd><input type="submit" value="Enviar" id="envia" name="envia" /></dd>
</dl>
</form>


</body>
</html>

Luego esta el codigo que procesa la info.


<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
</head>
<?php
$cd = $_POST['cod'];// recogo la variable la que ocupare para discriminar el update
$destino= 'flagla';// este es mi directorio al cual se van las fotos
//Preguntamos si nuetro arreglo 'archivos' fue definido
if (isset ($_FILES["archivos"])) {
//de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
//obtenemos la cantidad de elementos que tiene el arreglo archivos
$tot = count($_FILES["archivos"]["name"]);
//este for recorre el arreglo
for ($i = 0; $i < $tot; $i++){
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
//para trabajar con este
$tmp_name = $_FILES["archivos"]["tmp_name"][$i];
$name = $_FILES["archivos"]["name"][$i];
move_uploaded_file ( $_FILES [ 'archivos' ][ 'tmp_name' ][$i], $destino . '/' . $_FILES [ 'archivos' ][ 'name' ][$i]);
//Hasta aqui el scrip graba el archivo en el directorio de mi servidor a traves de un bucle hecho //por el for. Sin embargo se me ocurre aprovecharme de esto para tambien grabar en la base //de datos el nombre del archivo. En mi caso particular tengo 8 campos para fotos lo que //corresponden a un registro, sin embargo como solo hace un par de meses me ido metiendo //en el tema de php aun no lo domino muy bien la manera de ingresar la sentencia, por lo que //pido las disculpas por quizas la aberracion que pueden ver mas abajo.
//En mi caso los campos se llaman dt los que van enumerados del 1 al 8, mi intencion es que //al incrementarse el valor de "$i" en en for tambien cambie el valor del campo en el update, //algo asi como una asignacion dinamica para la actualizacion en la tabla.Sin embargo aun no //lo he podido lograr..

mysql_connect("server", "user","password");
mysql_select_db("database");
mysql_query("Update catalogo set ['dt'][$i]='".$name."' where cod='".$cd."'");
mysql_close();


}
}
?>


<body>
</body>
</html>


Agradecere a quienes nos puedan ayudar en dar un final feliz a esta consulta de la cual me he colgado..
  #3 (permalink)  
Antiguo 17/07/2009, 08:05
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Respuesta: se puede aumentar campos a insertar con php ???

GRACIAS Vulcano91 !.. voy a probar y te cuento... pero ... hay alguien que nos diga COMO ..???

SE LOS AGRADECEREMOS
  #4 (permalink)  
Antiguo 17/07/2009, 09:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: se puede aumentar campos a insertar con php ???

Revisen este post: http://www.forosdelweb.com/f18/recog...amicas-719559/

Saludos.
  #5 (permalink)  
Antiguo 17/07/2009, 10:04
 
Fecha de Ingreso: diciembre-2008
Mensajes: 268
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Respuesta: se puede aumentar campos a insertar con php ???

Cita:
Iniciado por GatorV Ver Mensaje
mmmmmm gracias GatorV.. pero no me queda claro :s soy mas novato que eso..
  #6 (permalink)  
Antiguo 17/07/2009, 11:16
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: se puede aumentar campos a insertar con php ???

Pues ahi viene precisamente explicado como hacer para recoger variables dinámicas, el código para generarlo ya te lo pusieron aquí, y en el otro post viene explicado como recoger esas variables (básicamente es con un foreach).

Saludos.
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 13:00.