Foros del Web » Programando para Internet » PHP »

Recuperar datos de una BD en cajas de texto

Estas en el tema de Recuperar datos de una BD en cajas de texto en el foro de PHP en Foros del Web. Hola: Estoy iniciando en esto de php y paginas web, asi es que no tengo mucho conocimiento sobre el tema. Lo que quiero es mostrar ...
  #1 (permalink)  
Antiguo 03/12/2005, 23:10
 
Fecha de Ingreso: diciembre-2005
Mensajes: 15
Antigüedad: 12 años
Puntos: 1
Pregunta Recuperar datos de una BD en cajas de texto

Hola:

Estoy iniciando en esto de php y paginas web, asi es que no tengo mucho conocimiento sobre el tema.

Lo que quiero es mostrar los datos que leo de un registro (enviando un id del registro en la consulta) de mi base de datos (que esta en MySql), en las cajas de texto (input type="text") de un formulario.

Como funciona esto? tengo un formulario en el que se incluyen varias cajas de texto (input ="text"), además de una lista de selección la que contiene los id de los registros de mi BD, al elegir una opción de esta lista de selección, en el evento onchange quiero llamar a una funcion hecha en php. La idea es que en la función se asigne a las cajas de texto los datos que leí de mi base de datos en la consulta, para que el usuario visualice los datos del id seleccionado.

Ya hice la función; pero no estoy segura si se pueda asignar el dato a un input tipo texto, además que me falla la llamada a la función desde el evento onchange.

La llamada en la lista de selección la hago así:
onchange="<?php funcion_x();>"

No se si estará bien, solo me estoy guiando en mis conocimientos de programación de otros lenguajes, ya que no encontré algun tutorial sobre este tema específico.

Espero me den una mano, se los agradeceré muchisimo.

Saludos.
  #2 (permalink)  
Antiguo 03/12/2005, 23:27
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
No podés mezclar PHP y JS así... La función onchange tiene que llamar a una funcion de js, pensá qie PHP se eejecuta en el serivodr y javascript lo ejecuta el cliente.
Lo que deberías hacer es

<select onchange="document.href='estapagina.php?id=' + this.value">
<option value="1">Opción 1</option>
<option value="2">Opción 2</option>
</select>

Y el id lo recuperás con $_GET.


Para que los input tengan el valor de la base de datos tenés que hacer lo siguiente
<input type="text" name="campo1" value="<?php echo $row['campo1']; ?>">
  #3 (permalink)  
Antiguo 04/12/2005, 00:13
 
Fecha de Ingreso: diciembre-2005
Mensajes: 15
Antigüedad: 12 años
Puntos: 1
Hola Seppo:

Gracias por responder a mi consulta; pero dejame ver si entendí tu código; si no, me corriges por favor.

1º En el evento onchange hago una autollamada a mi pagina enviando el valor de la opción seleccionada, por lo que el código de consulta a la BD, debería estar en la misma página.

2º La consulta la realizo en la misma página con el valor del id enviado, encuentra un registro con ese id debería hacer algo, justamente asignar el valor al input text, justamente lo que no entiendo:

3º El input debe tener como valor determinado el campo de mi registro; pero cómo?

Lo que hice es esto:

<select name="cod" type="text" onchange="document.href='esta.php?cod=' + this.value" style="position:absolute;width:200px;left:326px;to p:112px;z-index:16">
<?php
$con = mysql_connect("localhost","");
mysql_select_db("db",$conexion);
$sql = mysql_query("Select * from estudiante",$conexion);
while ($reg = mysql_fetch_row($sql))
{
echo "<option>".$reg[0].""; //Codigo
}
?>
</select>

a las opciones de la lista de selección no les asigno algun valor; según tu codigo debería asignarles el mismo valor del id, verdad? asi:

echo "<option value=".$reg[0]. ">".$reg[0].""; //Codigo

...supongo, y en el código php de la consulta:

<?php
$con = mysql_connect("localhost", "");
mysql_select_db("db",$conexion);
$sql = mysql_query("select * from prueba where id=$cod",$con);
if ($reg = mysql_fetch_row($sql)) //encontro un registro
//hacer que??????? es aqui donde me pierdo
?>

cómo hago lo demás?
  #4 (permalink)  
Antiguo 04/12/2005, 06:30
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
Vas encaminada :)
Ordenemos un poco... primero pongamos la conexión, las consultas y después mostremos los datos
Código PHP:
<?php
$con 
mysql_connect("localhost","");
mysql_select_db("db",$conexion);
$q_ids mysql_query("Select * from estudiante",$conexion);
$q_prueba mysql_query("select * from prueba where id='$cod'",$con);
/*acá mezclas $con y $conexion... arreglá eso a gusto */

?>
<select name="cod" type="text" onchange="document.href='esta.php?cod=' + this.value" style="position:absolute;width:200px;left:326px;to p:112px;z-index:16">
<?php
while ($reg mysql_fetch_row($q_ids)) {
  echo 
"<option value=".$reg[0]. ">".$reg[0]."</option>";
}
?>
</select>
<?php
if (mysql_num_rows($q_prueba) == 1) { //sólo debe haber un registro con ese id
  
$datos mysql_fetch_row($q_prueba);
  echo 
"Dato0: ".$datos[0]."<br />";
  echo 
"Dato1: ".$datos[1]."<br />";
  echo 
"Dato2: ".$datos[2]."<br />";
}
?>
  #5 (permalink)  
Antiguo 04/12/2005, 10:27
 
Fecha de Ingreso: diciembre-2005
Mensajes: 15
Antigüedad: 12 años
Puntos: 1
Hola Seppo:

Sale un error en la parte de verificar la condición si es que existe un registro; es decir, aqui:
---> if (mysql_num_rows($q_id) == 1)

el error dice lo siguiente:
---> Warning: Supplied argument is not a valid MySQL result resource

además no pasa nada cuando selecciono una opción de mi lista de selección.

Todo el código es este:

<form name="form" method="get" action="mod_reg.php">
<?php
$conexion = mysql_connect("localhost", "");
mysql_select_db("dbSeduca",$conexion);
$ids = mysql_query("Select * from estudiante",$conexion);
$q_id = mysql_query("select * from estudiante where id='$cod'",$conexion);
?>

Seleccione id:
<select name="code" type="text" onchange="document.href='vertextos.php?cod=' + this.value">
<?php
while ($reg = mysql_fetch_row($ids))
{
echo "<option value=".$reg[0]. ">".$reg[0]."</option>";
}
?>
</select>
<?php
if (mysql_num_rows($q_id) == 1)
{
$datos = mysql_fetch_row($sql);
echo "Dato0: ".$datos[0]."<br />";
echo "Dato1: ".$datos[1]."<br />";
echo "Dato2: ".$datos[2]."<br />";
}
?>
<br>

Nombre: <input type="text" name="nom"> <br>
Direccion: <input type="text" name="dir"> <br>
Carnet: <input type="text" name="ci"> <br>
<input type="submit" value="Modificar">
</form>

Otra duda, para visualizar los datos en las cajas de texto, el último código php tendría que ponerlo en los input?

Por favor revisamelo y responde mi duda, ok?

Muchas gracias
  #6 (permalink)  
Antiguo 04/12/2005, 19:53
 
Fecha de Ingreso: diciembre-2005
Mensajes: 15
Antigüedad: 12 años
Puntos: 1
Hola Seppo:

Ya lo hice!! arregle algunas cosillas y funciona!

Gracias por guiarme, la verdad muchas gracias.

Saludos.
  #7 (permalink)  
Antiguo 08/01/2016, 22:19
 
Fecha de Ingreso: enero-2016
Mensajes: 5
Antigüedad: 1 año, 11 meses
Puntos: 0
Pregunta buscar datos en una base de datos con una caja de texto

Buenas, disculpen el intermediario soy nuevo en esto, tengo un problema y quisiera saber si me pueden ayudar.

Poseo 2 cajas de texto o dos input type=text, en la primea esta la cédula y en la segunda un nombre.
Mi pregunta es como puedo hacer para buscar en una base de datos al momento de pasar a la segunda caja de texto sin utilizar un botton??
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 00:36.