Foros del Web » Programando para Internet » PHP »

Actualización de datos en la misma página

Estas en el tema de Actualización de datos en la misma página en el foro de PHP en Foros del Web. Hola compañeros, Antes de todo muchas gracias por atenderme y quizás poderme responder, ya que yo empiezo en esto y soy bastante inexperto Tengo una ...
  #1 (permalink)  
Antiguo 28/09/2004, 09:52
 
Fecha de Ingreso: septiembre-2004
Mensajes: 3
Antigüedad: 13 años, 2 meses
Puntos: 0
Actualización de datos en la misma página

Hola compañeros,

Antes de todo muchas gracias por atenderme y quizás poderme responder, ya que yo empiezo en esto y soy bastante inexperto
Tengo una tabla llamada tipushab con solo dos campos el campo codi y el descripcio.
La cuestión es que pretendo hacer un formulario en el que salga un menú desplegable con todas las descripciones, y al lado un input con el código,pero de tal forma que al escoger una de las descripciones me pusiera sin tener que tocar nada más el valor del campo código para esa descripción en el input de codi, pero no me funciona. El códgio fuente del programa es:
<?
.
.
.
$lc_tphab=cartipushab($connexio,1); //donde cartipushab es una función que coge todos los registros del campo codi y descripcio de la tabla
?>
<html>

<head>
<title></title>
</head>

<tr>
<td width="1" height="21" valign="top">
<div align="LEFT">
<p style="font-style: normal; font-weight: medium; text-decoration: none"><select size="1" name="descripcio" style="font-family: MS Sans Serif; font-size: 10px">
<? // Monta el desplegable de tipos de habitaciones
for($lc_index1=0;$lc_index1<count($lc_tphab);$lc_i ndex1++) {
// Pone la habitación como selected
if($descripcio==$lc_tphab[$lc_index1][0]) {
printf("<option selected value=\"%s\">%s",$lc_tphab[$lc_index1][0],$lc_tphab[$lc_index1][1]);
} else {
printf("<option value=\"%s\">%s",$lc_tphab[$lc_index1][0],$lc_tphab[$lc_index1][1]);
}
}
$th_codi = mysql_query("xsiss","select codi from tipushab where descripcio ='$lc_tphab[$lc_index1][1]'");
?>
</option>
</select><font size="1" style="font-size: 8pt" face="MS Sans Serif, sans-serif" color="#000000">&nbsp;</font></p>
</div>
</td>
<td width="1" height="21" valign="top">
<input type="text" name="th_codi" VALUE=<? printf("\"%s\"",$th_codi)?> size="2" style="font-family: Microsoft Sans Serif; font-size: 8pt"></td>
<td width="71" height="21" valign="top">



Muchas gracias a todos.

P.D: el indice 0 y 1 del campo lc_tphab es el campo 0 que corresponde a codi, y el campo 1 que corresponde a descripcio.

Gracias
  #2 (permalink)  
Antiguo 30/09/2004, 07:34
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si entendí bien lo que pretendes hacer ...

En principio si lo haces con -sólo- PHP, tendrás que recargar la página cuando selecciones una de esas opciones para llamar a tu script PHP (aunque ese proceso esté en el mismo script/página que contenga tu HTML de formulario ..) para hacer tu consulta SQL a tu BD obtener el dato y generar una nueva página HTML con ese input de tu formulario con el dato "pre-cargado" (usando los value de los input de HTML) y a su vez también pre-establecer el valor inicial para el <select> que tendría que quedar en el que se seleccionó.

Todo esto implica en principio algo de javacript .. como para hacer el "onChange -> submit" .. es decir, cuando cambie el valor de tu select seleccionado .. envia el formulario (al script que apuntas en el action).

Otras técnicas o formas de solventar el problema son:
* Pre-cargar en un array javascript todos los valores posibles de la lista que generas con esas opciones para que sea javacript el que ponga el valor en el input que corresponda.
* Usar técnicas de "Remote scripting" (usa el buscador del foro .. )

En fin .. como veras la mayoría de soluciones usan muchooooooo javascript para tal fin.

Si la lista de opciones no es mucha .. te recomendaría hacerlo según el método javacript de pre-cargar esos arrays javacript con tus elementos (opciones) y sus valores. Para eso, primero resuelve el problema desde javacript con valores fijos (unos cuantos de ejemplo) y luego aplica PHP para generar esos "arrays" con los valores de tu BD que harás la consulta SQL ...

Un saludo,
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:50.