Foros del Web » Programando para Internet » PHP »

Valor de un list = a una caja de texto

Estas en el tema de Valor de un list = a una caja de texto en el foro de PHP en Foros del Web. hola a todos... estoy perdido, como pudiera mandar a una caja de texto lo que selecciono de un list en php...????...
  #1 (permalink)  
Antiguo 25/04/2007, 08:53
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Pregunta Valor de un list = a una caja de texto

hola a todos... estoy perdido, como pudiera mandar a una caja de texto lo que selecciono de un list en php...????
  #2 (permalink)  
Antiguo 25/04/2007, 08:55
 
Fecha de Ingreso: junio-2004
Ubicación: Stgo, Chile
Mensajes: 51
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Valor de un list = a una caja de texto AYUDA!

Si te estás refiriendo a valores de un formulario, debes hacerlo con javascript. De todos modos, podrías explicar el contexto de lo que quieres hacer.

Salu2
Victoria
  #3 (permalink)  
Antiguo 25/04/2007, 09:11
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Valor de un list = a una caja de texto AYUDA!

Hola Victoria gracias por responderme, te explico:

Se trata de un list en donde contengo los codigo de una tabla los cuales al hacer click o seleccionar uno , quiero que me muestre la data relacionada con este en una caja de texto es decir:

en la lista:selecciono 0001(campo codigo) y en la caja de texto me debe mostrar la descripcion(campo Financiamiento) de ese codigo


Código PHP:
<select name="select" size="3" multiple="multiple" onchange=" <?php
$sql 
"SELECT Codigo,Financiamiento FROM gen_presupuesto";
$ss mysql_query($sql,$conex);
while(
$row mysql_fetch_array($ss,MYSQL_ASSOC)){ ?>
          denominacion.value ='<?php echo $row["Financiamiento"]?>';"
          <?php ?>  >
        
        
        <option value="0"></option>
          <?php
$sql 
"SELECT * FROM gen_presupuesto";
$r mysql_query($sql,$conex);
while(
$row mysql_fetch_array($r)){ ?>
          <option value="<?php echo $row["Codigo"]?>"> <?php echo $row["Financiamiento"]?> </option>
          <?php ?>
            
        
        
        </select>
  #4 (permalink)  
Antiguo 25/04/2007, 09:25
Avatar de deskman  
Fecha de Ingreso: noviembre-2005
Ubicación: Chorrillos Lima - Peru
Mensajes: 28
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: Valor de un list = a una caja de texto AYUDA!

Hola EfrainSanmiguel, para lo que quieres hacer se necesita usar javascript, PHP solo se encargaría de construir el select, prueba este código y adáptalo al tuyo, espero te ayude.

Código HTML:
<select id="miselect" name="miselect" onchange="cargarDesc()">
<option value="Finaciamiento1">0001</option>
<option value="Finaciamiento2">0002</option>
<option value="Finaciamiento3">0003</option>
<option value="Finaciamiento4">0004</option>
</select><br />

<input type="text" name="desc" id="desc" />

<script language="javascript" type="text/javascript">
function cargarDesc()
{
	var miDesc = document.getElementById('miselect').value;
	document.getElementById('desc').value = miDesc;
	return;
}
</script> 
Saludos
__________________
"El conocimiento que no se comparte no es conocimiento"
  #5 (permalink)  
Antiguo 25/04/2007, 09:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Valor de un list = a una caja de texto AYUDA!

Con Javascript puedes hacer algo asi:
Código:
<select name="valores" onchange="populateText(this);">
      <option value="1">Uno</option>
      <option value="2">Dos</option>
      <option value="3">Tres</option>
</select>
<input type="text" name="valorDesc" id="valorDesc" value="" />
<script type="text/javascript">
    function populateText(selObj) {
        var desc = document.getElementById( "valorDesc" );
        var texto = selObj.options[selObj.selectedIndex].text;
        desc.value = texto;
    }
</script>
  #6 (permalink)  
Antiguo 25/04/2007, 09:31
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Pregunta Re: Valor de un list = a una caja de texto AYUDA!

gracias pero ese código viene de un campo de una tabla.. osea que no me serviría esa solución... el problema es que cuando hago click en uno de los códigos para llenar mi caja de texto.. siempre lo hace pero con el ultimo valor... es decir el ultimo código que consigue en la tabla...

como puedo hacer para que cada vez que haga click en algún código del list, cambie el valor asociado (osea el financiamiento) en la caja de texto.... AYUDA!!!!!!
  #7 (permalink)  
Antiguo 25/04/2007, 09:35
 
Fecha de Ingreso: junio-2004
Ubicación: Stgo, Chile
Mensajes: 51
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Valor de un list = a una caja de texto AYUDA!

Tu problema es que estás mezclando peras con manzanas. Recuerda que estás programando con una estructura CLIENTE-SERVIDOR lo que significa que hay partes de tu código que se ejecutan en el servidor y otras en el cliente.
Si pones "onchange", no puedes hacer una consulta a mysql en ese momento! con el onchange lo que puedes hacer es llamar a una función javascript que actualice el valor de tu campo descripcion del formulario.

La solución que yo he implementado para este tipo de problema es crear un array en js con el resultado de la consulta y después en el onchange, llamas a una función js que recupere el dato del array dependiendo de la opción elegida en el list ¿se entiende?

Saludos
Victoria
  #8 (permalink)  
Antiguo 25/04/2007, 09:42
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Pregunta Re: Valor de un list = a una caja de texto AYUDA!

Ok Victoria te entiendo, ya eso lo habia echo , realice un funcion con java script en donde hacia la consulta y lo envia mediante el EVENTO keypress del list.

El me trae los datos asociados del LIST a la caja de TEXTO, pero el problema radica en que al hacer click en otro de los codigos mostrados en el LIST , en la caja de TEXTO se sigue mostrando el valor anterior.

Lo que deseo saber es como hacer para que ese valor de la caja de TEXTO sea el asociado con el que marco en el LIST , porfa AYUDAAA!!
  #9 (permalink)  
Antiguo 25/04/2007, 09:46
Avatar de deskman  
Fecha de Ingreso: noviembre-2005
Ubicación: Chorrillos Lima - Peru
Mensajes: 28
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: Valor de un list = a una caja de texto AYUDA!

Victoria tiene toda la razón, el atributo onchange solo sirve para ejecutar una función javascript en el momento que cambia el valor seleccionado en el list, puedes construir un array con los datos que quieres que esten disponibles o si quieres tener los datos siempre actualizados puedes usar AJAX llamando a una función javascript que se conecte con el servidor en segundo plano y ejecute un php que haga una consulta a la BD, esto último es más complicado que lo del array, saludos.
__________________
"El conocimiento que no se comparte no es conocimiento"
  #10 (permalink)  
Antiguo 25/04/2007, 09:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Valor de un list = a una caja de texto AYUDA!

Con el codigo que te di puedes hacerlo, solo es cuestion de que cambies la construccion del select, a tu base de datos:
Código PHP:
<select name="valores" onchange="populateText(this);">
      <option value="0"></option>
      <?php
$sql 
"SELECT * FROM gen_presupuesto";
$r mysql_query($sql,$conex);
while(
$row mysql_fetch_array($r)){ ?>
          <option value="<?php echo $row["Codigo"]?>"> <?php echo $row["Financiamiento"]?> </option>
          <?php ?> 
</select>
<input type="text" name="valorDesc" id="valorDesc" value="" />
<script type="text/javascript">
    function populateText(selObj) {
        var desc = document.getElementById( "valorDesc" );
        var texto = selObj.options[selObj.selectedIndex].text;
        desc.value = texto;
    }
</script>
  #11 (permalink)  
Antiguo 25/04/2007, 09:58
 
Fecha de Ingreso: junio-2004
Ubicación: Stgo, Chile
Mensajes: 51
Antigüedad: 19 años, 10 meses
Puntos: 0
Re: Valor de un list = a una caja de texto AYUDA!

Mira, la idea de lo que tienes q hacer es la siguiente:
1.- Hacer la consulta a mysql
2.- Con PHP escribes el codigo js que cree una matriz del tipo:
matriz[codigo1][descripcion1]
matriz[codigo2][descripcion2]
matriz[codigo3][descripcion3] ... etc
3.- Escribes una función js que reciba como parametro el código elegido dentro del select del formulario. Con ese código haces una búsqueda en tu matriz y luego asignas al campo descripcion de tu formulario el valor encontrado
document.formulario.campodescripcion.value=matriz[codigoencontrado][descripcion]
4.- Creas tu elemento del formulario SELECT con la consulta a mysql, asegurándote que el código esté presente en el value para que lo puedas pasar como parámetro.
5.- Debes poner el evento onchange y ahi llamar a tu función javascript.
6.- Después viene debuggear js que es un buen dolor de cabeza.

Saludos y Suerte!
  #12 (permalink)  
Antiguo 25/04/2007, 11:40
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
De acuerdo Re: Valor de un list = a una caja de texto

bueno muchas gracias a todos en especial a victoria por tomarse la molestia de seguir el tema.. voy a intentar lo que me planteaste... y bueno debuggear que como tu dices es un verdadero dolor de cabeza.

Gracias..
  #13 (permalink)  
Antiguo 25/04/2007, 12:03
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Valor de un list = a una caja de texto

Muchas gracias GatorV tu ejemplo me sirvió de mucha ayuda ya me trae los datos correctos gracias!
  #14 (permalink)  
Antiguo 26/04/2007, 08:00
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Valor de un list = a una caja de texto

disculpen.. pero aun no soluciono... ya que probe bien el codigo y no es lo que necesito.... veran....

tengo una tabla con un campo codigo y un campo financiamiento...

en un list muestro los codigos y en una caja de texto debo mostrar el financiamiento que pertenezca al codigo seleccionado.... porfavor esto ya me esta volviendo loco.. en serio ayuda...!!!!!!!!!
  #15 (permalink)  
Antiguo 26/04/2007, 08:13
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Valor de un list = a una caja de texto

POR FAVOR AYUDENME.....
este es el codigo que tengo.......
Código PHP:
<select name="select" size="3" multiple="multiple" onchange=" <?php
   $sql 
"SELECT Codigo,Financiamiento FROM gen_presupuesto";
   
$ss mysql_query($sql,$conex);
   while(
$row mysql_fetch_array($ss,MYSQL_ASSOC)){ ?>
      denominacion.value ='<?php echo $row["Financiamiento"]?>';"
         <?php ?>  >
        
        
<option value="0"></option>
 <?php $sql "SELECT * FROM gen_presupuesto";
       
$r mysql_query($sql,$conex);
       while(
$row mysql_fetch_array($r)){ ?>
<option value="<?php echo $row["Financiamiento"]?>"> <?php echo $row["Codigo"]?> </option>
<?php ?>

</select>
el problema es que cualquier codigo que seleccione del list siempre muestra en la caja de texto el mismo finaciamiento.. (que porcierto es el ultimo valor de la tabla...)
  #16 (permalink)  
Antiguo 26/04/2007, 08:15
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Valor de un list = a una caja de texto

y cual es el problema con el código que te di? Te muestra exactamente lo que necesites dependiendo de lo que selecciones en tu campo.
  #17 (permalink)  
Antiguo 26/04/2007, 08:54
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Valor de un list = a una caja de texto

hola.. gracais por responder.. es que el codigo que me diste.. muestra es lo mismo que selecciones en el list.. es decir.. si en el list selecciono el codigo 001 en la caja de texto me pone 001 y lo que quiero en la caja de texto es el financiamiento de ese registro 001... entendiste....

gracias de ante mano...

  #18 (permalink)  
Antiguo 26/04/2007, 09:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Valor de un list = a una caja de texto

Al final (ya en HTML) como queda tu Select? Podrias pegar una captura de pantalla de tu select?
  #19 (permalink)  
Antiguo 26/04/2007, 09:25
 
Fecha de Ingreso: diciembre-2005
Mensajes: 51
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Valor de un list = a una caja de texto

x-design.com.ve/select.JPG

lo que estoy haciendo esta en esa direccion... pero el foro no me permite publicarlo aqui por que no soy muy antiguo..

gracias de verdad de ante mano.. ya estoy que me lanzo por un balcon
  #20 (permalink)  
Antiguo 26/04/2007, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Valor de un list = a una caja de texto

Ah ya veo lo que pasa es que tu valor es diferente a lo que despliegas en el tu Select, para hacer esto tienes de dos formas:

La primera es refrescando la pagina cuando cambies el valor y que envíes a tu script el valor seleccionado y te de el valor que buscas.

La segunda opción es usar AJAX para que busques el valor y te actualice tu campo de texto, si le picas en mi Blog acabo de subir un tutorial para enviar y recibir información vía AJAX así que te puede servir para lo que estas desarrollando.
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 17:03.