SoloCodigo

Programación Web y Scripting => PHP => Mensaje iniciado por: jesusdmz en Martes 30 de Junio de 2009, 07:35

Título: Creacion de listas encadenadas multiples
Publicado por: jesusdmz en Martes 30 de Junio de 2009, 07:35
Ok, espero que me pueda explicar bien, porque me urge una solucion... aqui va  :comp:
estoy llenando una base de datos con la tabla categorias ( carros, camionetas, motos, ..etc) y una tabla sub_categorias ( sedan, coupe, pick-up, suv, etc...) las sub_categorias dependen de las categorias correspondientes...ahora necesito llenar un combobox con las categorias y al seleccionar una categoria que un segundo combobox se llene con las subcategorias correspondientes y ademas tengo otro input para introducir un numero, actualmente tengo un script que hace eso pero no me sirve porque necesito que ademas tenga la opcion de repetir los combos para agregar multiples registros a la vez  :ouch: , aqui pongo una imagen para mejor explicacion... :blink:  aqui tengo mis tres campos, categoria, sub_categoria y cantidad, entonces necesito un boton de agregar, un boton de eliminar y el boton de subir, cada vez que presionen el boton de agregar que me muestra otro grupo de los tres campos y si presionan el boton de eliminar que quite un grupo de los 3 campos, y al presionar el boton de subir que me lo grabe en la base de datos.
[attachment=0:1clsy2n8]untitled.JPG[/attachment:1clsy2n8]


espero que alguien me pueda ayudar con esto, en verdad estoy frustado porque nose como hacerle  :hitcomp:
de antemano se los agradezco muchisimo!!!
Título: Re: Creacion de listas encadenadas multiples
Publicado por: chesbor en Martes 30 de Junio de 2009, 18:01
Lo que necesitás es ir grabando los registros en una tablita temporal, y mostrarlos en un iframe abajo de esos campos, para el botón agregar tenés 2 opciones, la primera sería una función javascript que mande los valores de los campos por GET, y otra, en vez de poner el texto, usar una imagen para el botón agregar, y usar una función para enviar el formulario al target "iframe".

por ejemplo:
Código: Text
  1.  
  2. agregar(form) {
  3. form.target= "iframe";
  4. form.action = "ListaAutos.php";
  5. form.submit();
  6. }
  7. enviar(form) {
  8. form.target= "_self";
  9. form.action = "Grabar.php";
  10. form.submit();
  11. }
  12.  
  13.  
  14. Campo1     Campo2     Campo 3     <input type"image" src="imagen.jpg" onClick="agregar(this,form)" name="agregar">   <a href="ListaAutos.php?borrar=1" target="iframe">borrar</a> <input type"image" src="imagen2.jpg" onClick="enviar(this,form)" name="agregar">
  15.  
  16.  


la página ListaAutos tendría un código mas o menos asi:

Código: Text
  1.  
  2. if(isset($_POST['CAMPO1'])) {
  3. mysql_query("INSERT INTO tablatemporal (CAMPO1,CAMPO2,CAMPO3) values ('".$_POST['CAMPO1']."','".$_POST['CAMPO2']."','".$_POST['CAMPO3']."')");
  4. }
  5. if($_GET['borrar'] == 1) {
  6. //Acá te vendría bien un campo incremental para saber cual fue el último ingresado sin mucha dificultad y borrarlo
  7. }
  8. //y acá abajo haces un while mostrando los contenidos de la tabla temporal
  9.  
  10.  

y la página Grabar.php solo tendría que leer los datos de la tabla temporal y grabarlos en la tabla correspondiente.
Título: Re: Creacion de listas encadenadas multiples
Publicado por: mayitoperu en Viernes 3 de Julio de 2009, 07:00
http://steeljrv.com/comprobantes-de-pago/factura.php

login osmar
pass ninguna

escoger primera carpeta
para acceder a factura.php

fijate en clientes
segun tu imagen creo que eso es lo que necesitas verdad?ç

cualquier cosa estamos para ayudarnos
 :good:
Título: Re: Creacion de listas encadenadas multiples
Publicado por: chesbor en Viernes 3 de Julio de 2009, 13:39
Pero él necesita si o si una tabla temporal, u otra forma de ir guardando la info, porque quiere ilimitados registros...
Título: Re: Creacion de listas encadenadas multiples
Publicado por: mayitoperu en Viernes 3 de Julio de 2009, 13:50
hola chesbor
el ejemplo que presente
cuanta con una bd en mysql
y una tabla con los registros necesarios
Título: Re: Creacion de listas encadenadas multiples
Publicado por: chesbor en Viernes 3 de Julio de 2009, 16:12
Si, pero lo que ingresa es facturas de 5 campos o algo por el estilo, lo que él necesita es campos ilimitados, por lo cual necesita una tabla temporal antes de pasarlo a la tabla en donde quiere mantener los datos.
Título: Re: Creacion de listas encadenadas multiples
Publicado por: mayitoperu en Viernes 3 de Julio de 2009, 16:41
ok
Título: Re: Creacion de listas encadenadas multiples
Publicado por: Juanvenus en Lunes 19 de Octubre de 2009, 18:51
Cita de: "chesbor"
Lo que necesitás es ir grabando los registros en una tablita temporal, y mostrarlos en un iframe abajo de esos campos, para el botón agregar tenés 2 opciones, la primera sería una función javascript que mande los valores de los campos por GET, y otra, en vez de poner el texto, usar una imagen para el botón agregar, y usar una función para enviar el formulario al target "iframe".

por ejemplo:
Código: Text
  1.  
  2. agregar(form) {
  3. form.target= "iframe";
  4. form.action = "ListaAutos.php";
  5. form.submit();
  6. }
  7. enviar(form) {
  8. form.target= "_self";
  9. form.action = "Grabar.php";
  10. form.submit();
  11. }
  12.  
  13.  
  14. Campo1     Campo2     Campo 3     <input type"image" src="imagen.jpg" onClick="agregar(this,form)" name="agregar">   <a href="ListaAutos.php?borrar=1" target="iframe">borrar</a> <input type"image" src="imagen2.jpg" onClick="enviar(this,form)" name="agregar">
  15.  
  16.  


la página ListaAutos tendría un código mas o menos asi:

Código: Text
  1.  
  2. if(isset($_POST['CAMPO1'])) {
  3. mysql_query("INSERT INTO tablatemporal (CAMPO1,CAMPO2,CAMPO3) values ('".$_POST['CAMPO1']."','".$_POST['CAMPO2']."','".$_POST['CAMPO3']."')");
  4. }
  5. if($_GET['borrar'] == 1) {
  6. //Acá te vendría bien un campo incremental para saber cual fue el último ingresado sin mucha dificultad y borrarlo
  7. }
  8. //y acá abajo haces un while mostrando los contenidos de la tabla temporal
  9.  
  10.  

y la página Grabar.php solo tendría que leer los datos de la tabla temporal y grabarlos en la tabla correspondiente.


Me podrias enviar el archivo completo de esta aplicacion. Gracias de
Antemano  :beer: