Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Combobox + textbox

Estas en el tema de Combobox + textbox en el foro de PHP en Foros del Web. Hola, como estan? encontre un codigo que me puede servir para lo que estoy buscando pero no logro adaptarlo a mis necesidades, pido de su ...
  #1 (permalink)  
Antiguo 21/03/2013, 18:17
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Pregunta Combobox + textbox

Hola, como estan? encontre un codigo que me puede servir para lo que estoy buscando pero no logro adaptarlo a mis necesidades, pido de su ayuda para poder hacerlo.

El codigo que tengo busca dentro de un select una opcion y completa con los demas datos un <div> yo necesito completar en ves del div varios textbox con los datos que recoje.

Aca el codigo:

Código HTML:
<html>
 <head>
 <script>
 function showUser(str)
 {
 if (str=="")
   {
   document.getElementById("txtHint").innerHTML="";
   return;
   } 
if (window.XMLHttpRequest)
   {// code for IE7+, Firefox, Chrome, Opera, Safari
   xmlhttp=new XMLHttpRequest();
   }
 else
   {// code for IE6, IE5
   xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
   }
 xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
     {
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
     }
   }
 xmlhttp.open("GET","getuser.php?q="+str,true);
 xmlhttp.send();
 }
 </script>
 </head>
 <body>
 
<form>
 <select name="users" onChange="showUser(this.value)">
 <option value="">Select a person:</option>
 <option value="182">Peter Griffin</option>
 <option value="2">Lois Griffin</option>
 <option value="3">Glenn Quagmire</option>
 <option value="4">Joseph Swanson</option>
 </select>
 </form>
 <br>
 <div id="txtHint"><b>Person info will be listed here.</b></div>
 
</body>
 </html> 
Archivo getuser.php
Código PHP:
<?php
 $q
=$_GET["q"];
 
$con mysql_connect('localhost''root''');
 if (!
$con)
   {
   die(
'Could not connect: ' mysql_error());
   }
 
mysql_select_db("base"$con);
 
$sql="SELECT * FROM user WHERE id = '".$q."'";
 
$result mysql_query($sql);
 
echo 
"<table border='1'>
 <tr>
 <th>Firstname</th>
 <th>Lastname</th>
 <th>Age</th>
 <th>Hometown</th>
 <th>Job</th>
 </tr>"
;
 
while(
$row mysql_fetch_array($result))
   {
   echo 
"<tr>";
   echo 
"<td>" $row['name'] . "</td>";
   echo 
"<td>" $row['lastname'] . "</td>";
   echo 
"<td>" $row['age'] . "</td>";
   echo 
"<td>" $row['hometown'] . "</td>";
   echo 
"<td>" $row['job'] . "</td>";
   echo 
"</tr>";
   }
 echo 
"</table>";
 
mysql_close($con);
 
?>
Gracias por la ayuda de antemano
Saludos!
  #2 (permalink)  
Antiguo 21/03/2013, 18:22
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Combobox + textbox

Lindo código pero ni idea lo que quieres lograr... =D

Te propongo que expliques que quieres hacer exactamente, o sea, es un registro donde pones musica de los 70' y te aperecen una lista de grupos de los años 70' y varía de acuerdo a lo que vayas seleccionando???

Mejor explicalo asi podremos ayudarte y ver si ese código sirve, porque sospecho que puede haber otra alternativa.

Otra pregunta, a que te refieres con TEXTBOX?? a un campo input del tipo text o a un textarea??
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 21/03/2013, 20:12
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Combobox + textbox

Hola Loncho, gracias por pasar y responder.
Te explico bien:
El script que tengo, me trae datos (name,lastname,age,etc...) luego de hacer un select y me los muestra en div id="txtHint y lo que yo necesito es que me traiga los datos y los muestre en varios textbox.
Mi problema es que no se como hacer para que me pegue los datos en un textbox en ves de en un div.
Espero haber sido claro.
Saludos
  #4 (permalink)  
Antiguo 22/03/2013, 01:36
 
Fecha de Ingreso: septiembre-2011
Mensajes: 219
Antigüedad: 12 años, 7 meses
Puntos: 31
Respuesta: Combobox + textbox

Hernan, en principio te diría que para lograr lo que necesitas, deberás traer solo el array de datos, o sea $row, sin el armado de la tabla. Luego por javascript ir asignandolo a cada input que corresponda.

De todas maneras, te recomendaría buscar una solución distinta al javascript que tienes, algo en jquery quizas. No solo por una cuestión de compatibilidad entre navegadores sino que te va a resultar mucho mas sencillo el manejo de los datos.

Saludos
  #5 (permalink)  
Antiguo 22/03/2013, 07:32
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Combobox + textbox

Cita:
Iniciado por cachusan Ver Mensaje
Hernan, en principio te diría que para lograr lo que necesitas, deberás traer solo el array de datos, o sea $row, sin el armado de la tabla. Luego por javascript ir asignandolo a cada input que corresponda.

De todas maneras, te recomendaría buscar una solución distinta al javascript que tienes, algo en jquery quizas. No solo por una cuestión de compatibilidad entre navegadores sino que te va a resultar mucho mas sencillo el manejo de los datos.

Saludos
Hola Cachusan, gracias por responder.
Entiendo perfectamente lo que decis, es mas, lo estuve buscando pero no encuentre nada asi en jquery.
Con respecto a tu sugerencia probe cambiar en el primer archivo
Esta linea:
Código HTML:
<div id="txtHint"><b>Person info will be listed here.</b></div> 
Por esta otra:
Código HTML:
<input type="text" id="txtHint" name="txtHint" > 
Y en getuser
Cambiar esta:
Código PHP:
echo "<table border='1'> 
 <tr> 
 <th>Firstname</th> 
 <th>Lastname</th> 
 <th>Age</th> 
 <th>Hometown</th> 
 <th>Job</th> 
 </tr>"

  
while(
$row mysql_fetch_array($result)) 
   { 
   echo 
"<tr>"
   echo 
"<td>" $row['name'] . "</td>"
   echo 
"<td>" $row['lastname'] . "</td>"
   echo 
"<td>" $row['age'] . "</td>"
   echo 
"<td>" $row['hometown'] . "</td>"
   echo 
"<td>" $row['job'] . "</td>"
   echo 
"</tr>"
   } 
 echo 
"</table>"
Por esta:
Código HTML:
while($row = mysql_fetch_array($result))
   {
   echo $row['name'];
   }
Pero no obtengo resultados cuando cambio el div por un textbox, que estoy haciendo mal?

Saludos!
  #6 (permalink)  
Antiguo 22/03/2013, 07:35
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Combobox + textbox

hola

y por que no usar Ajax Jquery ?

es mucho mejor para cargar datos sin refrescar paginas, y puedes hacer un mejor soporte , usa firebug para depurar los errores y ver que te retorna el servidor
  #7 (permalink)  
Antiguo 22/03/2013, 07:58
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Combobox + textbox

Cita:
Iniciado por informacionsys Ver Mensaje
hola

y por que no usar Ajax Jquery ?

es mucho mejor para cargar datos sin refrescar paginas, y puedes hacer un mejor soporte , usa firebug para depurar los errores y ver que te retorna el servidor
Hola Info, gracias por responder, como ya explique arriba no encontre ningun script con jquery que se asemeje a lo que estoy buscando, si tenes alguno que se pueda adaptar mande nomas!
Gracias por pasar
Saludos!
  #8 (permalink)  
Antiguo 22/03/2013, 08:17
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Combobox + textbox

El problema no es rellenar un input text... su problema es que necesita que aparezca en vez de esto:

<div>
A contenido
B contenido
C contenido
</div>

a algo como esto

<input value="A contenido">
<input value="B contenido">
<input value="C contenido">

o no es así?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #9 (permalink)  
Antiguo 22/03/2013, 08:34
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 13 años
Puntos: 76
Respuesta: Combobox + textbox

hola

mmmmmm prueba cambiando el archivo getuser.php por

Código PHP:
Ver original
  1. $q=$_GET["q"];
  2.  
  3. $con = mysql_connect('localhost', 'root', '');
  4.  if (!$con)
  5.    {
  6.    die('Could not connect: ' . mysql_error());
  7.    }
  8.  
  9. mysql_select_db("base", $con);
  10.  
  11. $sql="SELECT * FROM user WHERE id = '".$q."'";
  12.  
  13. $result = mysql_query($sql);
  14.  
  15. echo "<table border='1'>
  16. <tr>
  17. <th>Firstname</th>
  18. <th>Lastname</th>
  19. <th>Age</th>
  20. <th>Hometown</th>
  21. <th>Job</th>
  22. </tr>";
  23.  
  24. while($row = mysql_fetch_array($result))
  25.    {
  26.    echo "<tr>";
  27.    echo "<td><input type='text' value='".$row['name']."'></td>";
  28.    echo "<td><input type='text' value='".$row['lastname']."'></td>";
  29.    echo "<td><input type='text' value='".$row['age']."'></td>";
  30.    echo "<td><input type='text' value='".$row['hometown']."'></td>";
  31.    echo "<td><input type='text' value='".$row['job']."'></td>";
  32.    echo "</tr>";
  33.    }
  34.  echo "</table>";
  35.  


a lo que medio entendi eso es lo que buscas no ?
  #10 (permalink)  
Antiguo 22/03/2013, 12:32
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Combobox + textbox

Cita:
Iniciado por loncho_rojas Ver Mensaje
El problema no es rellenar un input text... su problema es que necesita que aparezca en vez de esto:

<div>
A contenido
B contenido
C contenido
</div>

a algo como esto

<input value="A contenido">
<input value="B contenido">
<input value="C contenido">

o no es así?
Exacto!
  #11 (permalink)  
Antiguo 23/03/2013, 09:05
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Combobox + textbox

Hola nuevamente, despues de pelear mucho encontre una manera de resolver mi problema, ahora me resta una cosita mas, necesito llenar dos textbox y no se como hacerlo.
Aca el codigo:

Archivo html
Código HTML:
Ver original
  1. //  Developed by Roshan Bhattarai
  2. //  Visit http://roshanbh.com.np for this script and more.
  3. //  This notice MUST stay intact for legal use
  4.  
  5. //fuction to return the xml http object
  6. function getXMLHTTP() {
  7.         var xmlhttp=false; 
  8.         try{
  9.             xmlhttp=new XMLHttpRequest();
  10.         }
  11.         catch(e)    {      
  12.             try{           
  13.                 xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
  14.             }
  15.             catch(e){
  16.                 try{
  17.                 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  18.                 }
  19.                 catch(e1){
  20.                     xmlhttp=false;
  21.                 }
  22.             }
  23.         }
  24.            
  25.         return xmlhttp;
  26.     }
  27.    
  28.    
  29.    
  30. function getCurrencyCode(strURL)
  31. {      
  32.     var req = getXMLHTTP();    
  33.     if (req)
  34.     {
  35.         //function to be called when state is changed
  36.         req.onreadystatechange = function()
  37.         {
  38.             //when state is completed i.e 4
  39.             if (req.readyState == 4)
  40.             {          
  41.                 // only if http status is "OK"
  42.                 if (req.status == 200)
  43.                 {                      
  44.                     document.getElementById('cur_code').value=req.responseText;
  45.                                        
  46.                 }
  47.                 else
  48.                 {
  49.                     alert("There was a problem while using XMLHTTP:\n" + req.statusText);
  50.                 }
  51.             }              
  52.          }         
  53.          req.open("GET", strURL, true);
  54.          req.send(null);
  55.     }
  56.                
  57. }
  58. </head>
  59.  
  60. <dl>
  61. <form  name="form1" id="form1">
  62.   <dd>Cheque Nº:</dd>
  63.     <dd>        
  64.      
  65.       <select id="nombre" name="nombre" onChange="getCurrencyCode('find_ccode.php?nombre='+this.value)">
  66.   <option value="0">Selecciona Uno...</option>
  67.   <?echo $varc?>
  68.       </select>
  69.     <dd>
  70.     <dd>
  71.       <input type="text" name="direccion" id="cur_code" />
  72.     <dd>
  73.       <input type="text" name="telefono" id="cur_code2" />
  74.     </form></body>
  75. </html>

Archivo find_ccode.php:

Código PHP:
Ver original
  1. <?php
  2. $nombre=$_REQUEST['nombre'];
  3.  
  4. $con = mysql_connect('localhost', 'root', '');
  5.  if (!$con)
  6.    {
  7.    die('Could not connect: ' . mysql_error());
  8.    }
  9.  
  10. mysql_select_db("base", $con);
  11.  
  12. $sql="SELECT * FROM usuarios WHERE nombre = '".$nombre."'";
  13.  
  14. $result = mysql_query($sql);
  15.  
  16. while($row = mysql_fetch_array($result))
  17.    {
  18.    echo $row['direccion'];
  19.    echo $row['telefono'];
  20.    }
  21.  
  22.  
  23. ?>

El problema que tengo es que no puedo hacer que se dividan los datos direccion y telefono en los distintos textbox
  #12 (permalink)  
Antiguo 23/03/2013, 12:21
 
Fecha de Ingreso: marzo-2012
Ubicación: Rosario
Mensajes: 108
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: Combobox + textbox

Ya solucioné el problema.
Gracias igualmente por la ayuda prestada.
Saludos a todos!

Etiquetas: anidados, combobox, textbox
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 22:38.