Foros del Web » Programando para Internet » PHP »

Pinchar en un enace y muestre el resultado en formulario

Estas en el tema de Pinchar en un enace y muestre el resultado en formulario en el foro de PHP en Foros del Web. Buenos días. Ahora mismo tengo un listado que muestro en pantalla de empresas con su identificador correspondiente. Hasta ahora accedo a ese listado y puedo ...
  #1 (permalink)  
Antiguo 26/12/2007, 05:57
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Pinchar en un enace y muestre el resultado en formulario

Buenos días. Ahora mismo tengo un listado que muestro en pantalla de empresas con su identificador correspondiente. Hasta ahora accedo a ese listado y puedo ver que a la sociedad PROBANDO S.L le corresponde el identificador número 54.
Pues bien, mi intención es que se pueda pinchar encima de ese número 54(en forma de enlace) y se coloque automaticamente en un formulario que tengo justo en la página de atrás (antes de acceder a ese listado). Así de esta manera evito memorizar el número y con un solo click lo tengo ya introducido de forma automática en el formulario.

Como se haría eso que necesito? Muchas gracias por todo y Feliz Navidad.

Código de lo que hace mi listado:

Código PHP:
<?php
include ('funciones.php');
 
   
   
$con conexion_bd();
   
$query 'select *
             from sociedades order by nombre'

   
$result = @mysql_query($query);
 
   if (!
$result)
     return 
false;
   
$num_cat = @mysql_num_rows($result);
   if (
$num_cat ==0)
      return 
false
?>
<table border=2 cellspacing=0 cellpadding=1 bordercolor=green> 

<tr> <td><center><h3> SOCIEDAD </td><td><center><h3> IDENTIFICADOR SOCIEDAD</td></tr>
<br>
<center><form><input type=button value="<< Volver" onClick="history.go(-1);"></form>


<?php

   
while ($row mysql_fetch_array($result)) {
      echo 
'<td><b><left>'.$row['2'].'</td>'
      echo 
'<td><b><center>'.$row['0'].'</td>';
      echo 
'<tr>';
    }

   
$result resultado_bd($result);
   return 
$result

?>
  #2 (permalink)  
Antiguo 26/12/2007, 06:16
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

Te creas un link a la página del formulario que le pase como parámetro el ID.

En la otra página recuperas ese valor mediante GET y se lo asignas al campo del formulario que te interese...
  #3 (permalink)  
Antiguo 26/12/2007, 06:25
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Gracias keysher por la respuesta.
Ahi está la cosa... que he estado probando maneras de meter ese echo en un href y ya no se que poner para que me lo tome bien.

Lo último que probé fue esto:

Código PHP:
<?php

   
while ($row mysql_fetch_array($result)) {
      echo 
'<td><b><left>'.$row['2'].'</td>'

      echo 
"<a href=http://127.0.0.1/formularios/consulta/form_insertar_representante.php>.$row['0'].</a>"

      echo 
'<tr>';
           
    }
Echame una mano artista xDD
  #4 (permalink)  
Antiguo 26/12/2007, 06:33
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

suponiendo que $row[0] sea el ID:

Código PHP:

echo('<a href="http://loquesea.com/loquesea/pagina.php?id="'.$row[0].'">texto del enlace</a>'); 
Luego, en la página del formulario, tendrás que recuperar el valor con GET:

Código PHP:

$ID 
$_GET['id']; 

Y sólo queda asignarselo al campo del formulario:

Código PHP:

echo('<input type="text" name="nombre" value="'.$ID.'">'); 

A grandes rasgos sería algo así... espero que se entienda la idea para que la desarrolles a tu gusto.
  #5 (permalink)  
Antiguo 26/12/2007, 06:56
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Esto está a punto de caramelo. He conseguido lo primero, ya me lo muestra en forma de enlace. El problema lo tengo ahora que en el formulario al mostrarlo me muestra lo que yo he puesto en el value, es decir, '.$id.'

El campo donde quiero recuperar el valor en el formulario es el siguiente:

Código PHP:
<td>Identificador sociedad:</td>
     <
td><input type=text name=id_socie
         value
="'.$id.'"
Antes de que comience la function que me muestra el formulario he puesto lo del $id=_GET['id'];

Yo creo que debe ser una tontería, pero no se que tocarle. Gracias
  #6 (permalink)  
Antiguo 26/12/2007, 07:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

Es código PHP, así que debe estar dentro de sus etiquetas. Si está configurado para aceptar las etiquetas de apertura cortas serías algo así:

Código PHP:
value="<?= $id ?>">
Y la forma larga:

Código PHP:
value="<?php  echo($id); ?>">
  #7 (permalink)  
Antiguo 26/12/2007, 10:17
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Buenas. No me muestra nada, es como si no me tomara el valor.

Tengo esto hasta ahora:
Código PHP:
<?php

   
while ($row mysql_fetch_array($result)) {
      echo 
'<td><b><left>'.$row['2'].'</td>'
     
 echo(
'<td><b><center><a href="http://127.0.0.1/formularios/consulta/form_insertar_representante.php?id="'.$row[0].'">'.$row[0].'</a>');
Donde tu pones Texto del enlace....ahi tiene que salir el número identificador de la empresa, es decir, $row[0].

El formulario donde tengo que mostrarlo es el siguiente:
Código PHP:
 $id = $_GET['id'];   
function form_mostrar_representante($repre = '')


    

  
 
  $edit = is_array($repre);

 
  
?>
  <form method=post
        action="<?php echo $edit?'editar_representante.php':'insertar_representante.php';?>">
  <table border=0>
  
 

   <tr>
     <td>Identificador sociedad:</td>
     <td><input type=text name=id_socie
         value="<?php echo($id); ?>">

......(continua con mas campos del formulario y se cierra la función)
No se por qué ahora no me muestra nada.GRACIAS.
  #8 (permalink)  
Antiguo 26/12/2007, 10:45
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

¿En enlace se muestra bien?
¿al cargar la nueva página en la url está el parametro?
¿No muestra nada donde?

Prueba a imprimir la variable por pantalla a ver si tiene valor.
  #9 (permalink)  
Antiguo 26/12/2007, 10:54
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Hola keysher, te cuento. El enlace se muestra bien...pero claro...porque donde supuestamente se le pone el "texto del enlace" le he puesto esto '.$row[0].' y así me muesrta toda la lista de identificadores.
Pues bien,cuando veo el listado con todos los identificadores, si me pongo encima de uno (sin pinchar encima de el) abajo en la ventana me aparece esto así tal cual:

http://127.0.0.1/formularios/consult...ntante.php?id=

Como ves el "id" de esa url queda en blanco, es como si no tomara el valor. Obviamente si pincho sobre el enlace de un identifiacador...en la página del formulario no se muestra nada.

Espero haberte aclarado un poco mas mi problema. Ando bastante perdido con ello.
  #10 (permalink)  
Antiguo 26/12/2007, 11:11
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

Código PHP:

 
echo('<td><b><center><a href="http://127.0.0.1/formularios/consulta/form_insertar_representante.php?id="'.$row[0].'">'.$row[0].'</a>'); 
Justo después de id= se cierran las comillas, por lo que lo siguiente no lo toma como parte de la url del enlace.

prueba a dejarlo así:

Código PHP:

 
echo('<td><b><center><a href="http://127.0.0.1/formularios/consulta/form_insertar_representante.php?id='.$row[0].'">'.$row[0].'</a>'); 
  #11 (permalink)  
Antiguo 26/12/2007, 11:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Perfecto !! Ahora por lo menos si que aparece debajo de la ventana el "id" correspondiente,es decir: http://asesoria/formularios/consulta...tante.php?id=9


Lo único que pasa ahora es que en el formulario no se muestra el valor(aparece el campo en blanco).

Código PHP:
$id = $_GET['id'];   
function form_mostrar_representante($vino = '')


  
  $edit = is_array($vino);

  
?>
  <form method=post
        action="<?php echo $edit?'editar_representante.php':'insertar_representante.php';?>">
  <table border=0>
  
 
   <tr>
     <td>Identificador sociedad:</td>
     <td><input type=text name=id_socie
         value="<?php echo($id);?>">
     </td>

   </tr>
  #12 (permalink)  
Antiguo 26/12/2007, 12:20
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Por fin lo he solucionado. Tenía que meter lo del $id=$_GET[id] dentro de la función y no fuera, por eso no me mostraba el valor.

Agradecerte Keysher todas las molestias, sin ti no hubiera avanzado. Muchas gracias.
  #13 (permalink)  
Antiguo 26/12/2007, 12:32
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

No había leído el última comentario, te iba a decir eso, que la variable está fuera de la función.

Otra forma sería pasarla como parámetro o cogerla como global dentro de la función, que eso se puede hacer de dos formas:

- poniendo dentro de la función: global $id;
- Refiriendose a ella como $GLOBALS['id']

Suerte y de nada!
  #14 (permalink)  
Antiguo 27/12/2007, 04:46
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Hola keysher. Ahora se me ha planteado un pequeño problemilla. Todo lo que vimos ayer funciona perfectamente, pero ahora lo he implementado para otro formulario que tendrá 2 listados. Eso quiere decir que yo seleccionaré algo del primer listado y se podrá automaticamente en el formulario (de hecho lo hace) y después seleccionaré de un segundo listado y se pondrá automaticamente en el formulario(de hechotambien lo hace). Cual es el problema? Pues sencillamente que puedo mostrar en el formulario solo uno de los 2 valores que he cogido de los 2 listados, es decir, si selecciono del 1º listado el identificador "54" me lo muestra correcto, pero si a continuación selecciono del 2º listado el identificador "3" para que me lo muestre en el siguiente campo del formulario lo que hace es desaparecer el "54" que habia metido antes y solo me muestra el valor "3" de la segunda selección.

Parece un poco complicado la explicación verdad? jeje. Lo que quiero en pocas palabras es que me mustre en el formulario los 2 valores que yo he seleccionado en los listados, es como que me guardara el 1º y el 2º valor. Así tendre: IDENTIFICADOR EMPRESA="54" y IDENTIFICADOR MODELO="3".

Se podría hacer eso? MUCHAS GRACIAS

Última edición por sneider; 27/12/2007 a las 09:39
  #15 (permalink)  
Antiguo 27/12/2007, 10:01
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Estoy estancado con ello.
  #16 (permalink)  
Antiguo 27/12/2007, 13:46
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

No he entendido muy bien.

Tienes una página con... dos listados? dos formularios?

Explicalo un poco mejor, la situación que tienes, lo que quieres conseguir... pega algo de código si hace falta.
  #17 (permalink)  
Antiguo 27/12/2007, 14:06
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años
Puntos: 4
Re: Pinchar en un enace y muestre el resultado en formulario

hola...
intenta con esto..
al leer de la base de datos trata de hacerlo con fetch_array, de este modo tendremos el nombre del campo...
entonces

pagina origen:

$row = mysql_fetch_array($rs);
echo "<a href='pagina_destino.php?id={$row['id']}'>link</a>";

pagina destino:

$id_capturado=$_GET['id'];
echo "el id capturado es : {$id_capturado}";

ahora bien si la configuracion del php.ini es con "register_globals = ON " debes intentarlo con

$id_capturado = $HTTP_GET_VAR['id'];


espero te sea util.....
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
  #18 (permalink)  
Antiguo 28/12/2007, 03:10
 
Fecha de Ingreso: septiembre-2005
Mensajes: 379
Antigüedad: 18 años, 7 meses
Puntos: 0
Re: Pinchar en un enace y muestre el resultado en formulario

Creo que no me he explicado correctamente jeje. Os pongo el código para que veais lo que ocurre.

Listado de empresas: (pongo solo lo principal)
Código PHP:
<?php

   
while ($row mysql_fetch_array($result)) {
      echo 
'<td><b><left>'.$row['2'].'</td>'
      echo(
'<td><b><center><a href="http://127.0.0.1/formularios/consulta/form_insertar_modelo.php?idee='.$row[0].'">'.$row[0].'</a>');
Listado de modelos:
Código PHP:

<?php

   
while ($row mysql_fetch_array($result)) {
      echo 
'<td><b><center>'.$row['1'].'</td>'
      echo(
'<td><b><center><a href="http://127.0.0.1/formularios/consulta/form_insertar_modelo.php?ideem='.$row[0].'">'.$row[0].'</a>'); 
      echo 
'<tr>';
Como veis hay 2 variables que luego recuperaré, son: "idee" "ideem"

Formulario donde recupero esas 2 variables y donde se me presenta el problema:
Código PHP:
function form_mostrar_modelo($vino = '')

    

  

  $edit = is_array($vino);

  
  $idee=$_GET['idee'];
  $ideem=$_GET['ideem'];
?>
  <form method=post
        action="<?php echo $edit?'editar_modelo.php':'insertar_modelo.php';?>">
  <table border=0>
  
<tr>
     <td></td>
     <td><input type=hidden name=id_mod_emp
        VALUE=" <?php echo $edit?$vino['id_mod_emp']:''?>"> </td>

   </tr>

  
   <tr>
     <td>Id empresa:</td>
     <td><input type=text name=id_empresa
         value="<?php echo $idee?>"> <a href="identificadorempresa3.php" target="cuerpo"><font color="red">Pulse aquí para conocer el "identificador de empresa"</a></font></td>

   </tr>


 <tr>
    <td>Id modelo:</td>
    <td><input type=text name=id_modelo
         value="<?php echo $ideem?>"> <a href="identificadormodelo.php" target="cuerpo"><font color="red">Pulse aquí para conocer el "identificador de modelo"</a></font></td>
El problema está en que si selecciono algo edl 1º listado me lo muesrta bien, pero cuando selecciono algo del 2ºlistado me borra el que había puesto en el 1º y me muestra solo el 2º. Ahora mismo está la cosa como que solo me muestra una de los 2, y lo suyo es que me muestre las 2 selecciones. GRACIAS fenómenos.
  #19 (permalink)  
Antiguo 28/12/2007, 18:41
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Pinchar en un enace y muestre el resultado en formulario

Sólo te muestra una porque sólo le pasas por URL una variable..... En tus enlaces mandas una variable, así que sólo vas a poder recoger la que envies.

Si necesitas recuperar más variables deberás mandarlas también por URL.
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 02:59.