Foros del Web » Programando para Internet » PHP »

incrustar dos forms en una misma pagina?

Estas en el tema de incrustar dos forms en una misma pagina? en el foro de PHP en Foros del Web. hola soy nuevo en php, y estoy realizando las paginas a base de tropezones. No acabo de encontrar un título adecuado para lo que busco. ...
  #1 (permalink)  
Antiguo 15/11/2012, 10:20
 
Fecha de Ingreso: agosto-2012
Mensajes: 5
Antigüedad: 12 años, 2 meses
Puntos: 0
incrustar dos forms en una misma pagina?

hola

soy nuevo en php, y estoy realizando las paginas a base de tropezones.

No acabo de encontrar un título adecuado para lo que busco. espero que a partir de mi ejemplo puedan entender lo que busco:

Para haceros una idea, suponed un buscador de empresas por municipio.

La primera parte de la pagina es un buscador con:
desplegable: provincia
desplegable: municipio (se actualiza al cambiar la provincia
texto: nombre o parte del nombre de la empresa
boton: buscar

al clicar sobre el botón buscar, se me abre debajo una tabla con todas las empresas que cumplan los filtros asignados por el buscador (esta parte ya la tengo hecha)

ahora bien, me gustaría poder clicar sobre una de las empresas que hay en la tabla y que me ampliara la información de esa empresa. pero claro, para ello, tengo que poder identificar que línea he clicado para poder mostrar la información


hasta ahora lo que he conseguido es esto:

Código PHP:
<form id="form1" name="form1" method="post" action="">
  ..
</form>

<table>
<tr>
<td>Nombre Empresa</td>
<td>
  <form id="form2" name="form2" method="post" action="">
     <?php
        
echo "<input type='hidden' name='Client' id='Client' value='".$CodigoCliente."'/>";
        echo 
"<input type='submit' name='Form2' id='Form2' value='Ver'/>";
     
?>
  </form>
  </td>
  </tr>
</table>
Espero se entienda con esta pequeña extracción de lo que he hecho. La idea es poder clicar sobre una línea de la tabla y reenviarme el codigo de la empresa para poder mostrar toda la información de ésta de una forma mas extensa.

El problema es que al clicar sobre esta línea, la información que había del formulario inicial (form1) ya no la tengo, y los filtros de esa primera parte los pierdo al recargar la pagina.
he probado también de hacer algo asi:

Código PHP:
//en el form1 tenía:
<select name="Provincia" id="Provincia">

//y para tomar ese valor y reenviarlo, intenté cogerlo así dentro del form2:
<?php echo "<input type='hidden' name='Provincia' id='Provincia' value='".!empty($_POST[Provincia'])."' />";
con ello intentaba coger el dato de la provincia y hacer que el form2 me reenviara esa información al recargar la pagina y asi mantener los datos del filtro introducidos en el primer formulario.
Aunque con ello estaba duplicando una misma id (id="Provincia"), y no se como reacciona una página al suceder eso. En cualquier caso, al clicar sobre el botón ver se me recarga la página y puedo ver la información extensa de la empresa, pero la información de los filtros los pierdo.

Tambien me gustaría saber si hay alguna otra forma de hacerlo, porque al ser iniciado en php, puede que haya otra forma de poder seleccionar uno de los datos de la tabla creada para que se extiendan.

Gracias, y espero que los ejemplos sean lo suficiente claros. no he querido entrar por ahora en más detalles para no sobrecargar el mensaje, e intentar apuntar a lo que realmente estoy necesitando
  #2 (permalink)  
Antiguo 15/11/2012, 10:25
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: incrustar dos forms en una misma pagina?

lo ideal para hacer los selects dependientes es usar AJAX, si tienes tiempo de leerlo y aplicarlo.

por otro lado sólo puedes enviar un formulario a la vez, no puedes hacer combinaciones.
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 15/11/2012, 10:40
 
Fecha de Ingreso: agosto-2012
Mensajes: 5
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: incrustar dos forms en una misma pagina?

Cita:
Iniciado por maycolalvarez Ver Mensaje
lo ideal para hacer los selects dependientes es usar AJAX, si tienes tiempo de leerlo y aplicarlo.

por otro lado sólo puedes enviar un formulario a la vez, no puedes hacer combinaciones.
En principio leí algo sobre AJAX, y también consejos para que lo usara en estos tipos de select dependientes. No obstante, me hechó para atrás esa idea al ser un iniciado en web, y conocer muy poco todos los idiomas. por ello por ahora me centré exclusivamente en php para no complicarme mas de lo debido.
eso si, en lo referente a selects dependientes, conseguí hacerlo con php. Asi que en parte no iban por ahi mis dudas


Sobre el hilo original:
puse un error en el ultimo codigo php. si lo pongo correcto:

Código PHP:
//en el form1 tenía:
<select name="Provincia" id="Provincia">

//y para tomar ese valor y reenviarlo, intenté cogerlo así dentro del form2:
<?php echo "<input type='hidden' name='Provincia' id='Provincia' value='".$_POST[Provincia']."' />"
Ahora sí que me deja reenviar los datos. No obstante, me mantiene la misma pregunta... puede ser problemático el hecho de que haya declarado dos veces la misma id? (id="Provincia") dentro de la misma página?

y la otra pregunta que me gustaría saber: es este un método correcto para hacer lo que intento hacer? hay formas mas elegantes y/o correctas de coger un valor de una tabla y refrescar la página con los datos de la línea seleccionada?
  #4 (permalink)  
Antiguo 15/11/2012, 12:42
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 17 años, 3 meses
Puntos: 194
Respuesta: incrustar dos forms en una misma pagina?

puede ser problemático el hecho de que haya declarado dos veces la misma id? (id="Provincia") dentro de la misma página?
Si es un error grave de DOM, núnca se debe repetir un id en la misma pagina.

y la otra pregunta que me gustaría saber: es este un método correcto para hacer lo que intento hacer? hay formas mas elegantes y/o correctas de coger un valor de una tabla y refrescar la página con los datos de la línea seleccionada?

Si, Ajax, recomiendo el uso de jquery es realmente sencillo.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #5 (permalink)  
Antiguo 15/11/2012, 12:56
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: incrustar dos forms en una misma pagina?

http://www.forosdelweb.com/f18/aport...x-pdo-1005419/
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #6 (permalink)  
Antiguo 19/11/2012, 10:51
 
Fecha de Ingreso: agosto-2012
Mensajes: 5
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: incrustar dos forms en una misma pagina?

Cita:
Iniciado por h2swider Ver Mensaje
puede ser problemático el hecho de que haya declarado dos veces la misma id? (id="Provincia") dentro de la misma página?
Si es un error grave de DOM, núnca se debe repetir un id en la misma pagina.

y la otra pregunta que me gustaría saber: es este un método correcto para hacer lo que intento hacer? hay formas mas elegantes y/o correctas de coger un valor de una tabla y refrescar la página con los datos de la línea seleccionada?

Si, Ajax, recomiendo el uso de jquery es realmente sencillo.
he estado hoy dandole vueltas a jsquery pero no consigo verle esa sencilled que debería caracterizarlo.

en la web he visto ejemplos simples, que al clicar sobre un enlace o botón ejecutar ajax y devolver un resultado(texto), sobre un campo del formulario principal. pero claro, en esos casos para identificar los campos enviados utiliza la id. en mi caso tengo una tabla del tipo
<tr><td>Cliente1</td><td>Provincia1</td></tr>
<tr><td>Cliente2</td><td>Provincia2</td></tr>
...
<tr><td>ClienteX</td><td>ProvinciaX</td></tr>

necesito clicar sobre alguna de estas líneas (de alguma forma) para que a partir de esa elección pueda obtener un resultado mas amplio del cliente. no hay 'id's aqui, y no consigo ver cual es la idea que debería seguir.

no sabrías darme un ejemplo si tienes por mano el uso de jsquery?

Etiquetas: forms, formulario, incrustar, tabla
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 14:44.