Foros del Web » Programando para Internet » PHP »

Problemas con formulario

Estas en el tema de Problemas con formulario en el foro de PHP en Foros del Web. Hola a tod@s, no tengo ni idea de PHP pero me toca aprender. La pregunta es la siguiente. Estoy haciendo un formulario y necesito condicionar ...
  #1 (permalink)  
Antiguo 22/04/2004, 06:50
 
Fecha de Ingreso: marzo-2003
Mensajes: 19
Antigüedad: 21 años, 8 meses
Puntos: 0
Problemas con formulario

Hola a tod@s, no tengo ni idea de PHP pero me toca aprender. La pregunta es la siguiente.

Estoy haciendo un formulario y necesito condicionar los option de un select en función de la entrada de un input o un select previo en el mismo formulario.

Yo trabajo normalmente con Dreamweaver y se que se pueden hacer cosillas de este tipo (en cuando a Bases de Datos) pero no he conseguido hacerlo.

Tampoco tengo muy claro si esta duda es de PHP, pero creo que si.

Gracias por adelantado.
  #2 (permalink)  
Antiguo 22/04/2004, 07:00
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años
Puntos: 5
pues .... creo que deberias especificar mas en tu problema.... es decir vas a cargar en el select los datos a partir de un dato de otro select y que coja los datos de una base de datos? por que si es asi, estaria bien saber cual es tu motor de base de datos, para ello necesitas tener unos conocimientos básicos de SQL para realizar las consultas, lo mas logico seria:

Código:
SELECT datos FROM tabla aki ira la condicion que quieres que cumpla
Su pongo que recogeras los datos si algun campo de la base de datos coincide con el dato que le pasas de otro select o del input ... por lo cual seria algo como:

Código:
SELECT datos FROM tabla WHERE campo = '{$_POST['nombre_del_input']}';
Eso suponiendo que el formulario lo pasas por POST.

Teniendo la consulta tan solo deberias ejecutarla, si usas MySQL seria algo como:

Código PHP:
$con mysql_connect("host""user""pass") or die(mysql_error());
mysql_select_db("base_de_Datos"$com) or die(mysql_error());

$SQL SELECT datos FROM tabla WHERE campo '{$_POST['nombre_del_input']}';
$consulta mysql_query($SQL$con) or die(mysql_error());
echo 
"<select>";
while(
$datos mysql_fetch_array($consulta)) {
echo 
"<option value=\"".$datos['campo_de_la_tabla']."\">".$datos['campo_de_la_tabla']."</option>";
}
echo 
"</select>";

mysql_close(); 
Más o menos seria asi ... espero que sea eso lo que quieres.

Un saludo!
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 22/04/2004, 07:31
 
Fecha de Ingreso: marzo-2003
Mensajes: 19
Antigüedad: 21 años, 8 meses
Puntos: 0
Formularios

Habiendo recibido una respuesta de problema planteado anteriormente con los formularios y gracias a epplestum, creo que me debo explicar un poco más. El motor de búsqueda si es Mysql y efectivamente en el select vinculo un sql para seleccionar datos de una tabla, ahora bien, este es el caso del primer select de mi formulario y mi problema surge cuando en el mismo formulario tengo otro select cuya condicion de sql depende del dato que se eligirá en el anterior select, de forma que ¿cuál va a ser las option que me pinte php en html si no sabe aún el resultado del select anterior? No se si debe seleccionar todos los datos de la segunda tabla sin condiciones y luego poder utilizar una funcion js que que depure en función del dato indicado en el select anterior. ¿Existe algo así o hay otra solución posible?

Gracias.
  #4 (permalink)  
Antiguo 22/04/2004, 07:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
novata ..

Si tienes algun comentario más que hacer sobre alguna respuesta data en un mensaje . .usa el mismo mensaje. Sino, se pierde el contexto del mismo y las posibles respuestas que te hubieran dado que tal vez otra persona al no verlas responda lo mismo que ya te comentaron.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 22/04/2004, 07:44
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
En PHP tendrías que recargar toda la página para hacerle llegar el dato de tu primera selección de tu primer select y que se tome como condicional para el segundo select (ademas de pre-establecer los valores anteriores (el que se seleccionó) en el primer select...)

Para hacer esto sin "recarga de página aparente" (se recarga igualmente .. pero suele ser un iframe/frame oculto y se gestiona todo por javascript) puedes ver técnicas de "remote scripting" como los ejemplos que tienes en este sitio:

http://www.ashleyit.com/rs/main.htm

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #6 (permalink)  
Antiguo 22/04/2004, 13:35
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años
Puntos: 5
gracias a dios tenemos Remote Scripting, una mezacla de JS y PHP para hacer consultas al servidor sin necesidad de refrescar la pagina, busca Remote Scripiting en google y la primera pagina ahi tienes todo bien explicadito
__________________
Usuario registrado de Linux #288725
  #7 (permalink)  
Antiguo 23/04/2004, 02:32
 
Fecha de Ingreso: marzo-2003
Mensajes: 19
Antigüedad: 21 años, 8 meses
Puntos: 0
Formulario

Esto es desesperante.
Me he bajado la demo que me sugerísteis (http://www.ashleyit.com/rs/jsrs/select/php/select.php) pero después de crear las tablas y al ejecutar los ficheros, me sale un error de "Function builds as empty string".
No se como narices arreglar esto, tampo se si es un error mio(porque tenga que hacer algo en concreto) o es un error de alguno de los ficheros que me he bajado. El caso es que he leido artículos de otras personas diciendo que este ejemplo les ha venido muy bien para sus página.Pues yo no consigo ni ver la demo.

Tambien he probado a buscar en google páginas sobre Remote Scripting y he encontrado algo mucho más sencillo que la demo anterior. Esta nueva pàgina es http://www.programacion.com/php/arti...ote_scripting/
El ejemplo es:


<!-- Codigo del IFRAME oculto -->
<iframe id="iframeOculto" name="iframeOculto" style="width:0px; height:0px; border: 0px"></iframe>

<!-- Boton que redirecciona el IFRAME hacia server.php -->
<input type="button" value="Cargar datos" onClick="document.frames['iframeOculto'].location='server.php'">

<!-- Campo para guardar el resultado con su label -->
Dato recibido: <span id="contenedorDato"></span>
Lo primero que vemos en el codigo es la declaracion del IFRAME con nombre "iframeOculto", luego el boton activador con el evento "onClick" asociado. Este se dispara redireccionado al IFRAME hacia server.php.

server.php
<!-- Script que asigna el resultado al campo correspondiente en el cliente -->
<script type="text/javascript">
window.parent.getElementById('contenedorDato').inn erText='<?php
echo "Estos son los datos enviados desde el server"; ?>';
</script>


Después de hacer el ejemplo tampoco consigo que me funcione ya que me da el error "El objeto no acepta esta propiedad:window.parent.getElementById('contenedor Dato').innerText='<?php
echo "Estos son los datos enviados desde el server"; ?>';




Os pido que me ayudéis ya que llevo dos días perdida y luego me tocará recuperar el tiempo a base de currar en casa después del curro.

Gracias de antemano.
  #8 (permalink)  
Antiguo 23/04/2004, 03:06
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años
Puntos: 5
jeje tu a recuperr el curro en casa y yo k? jeje k tb curro pero weno ... tienes un ejemplo exactamente igual que lo que necesitas, http://www.ashleyit.com/rs/jsrs/select/php/select.php ahi lo tienes, estudialo bien es muy sencillo, tan solo debes poner la consulta que necesites, y otra cosa, no es por ofecender ni nada por el estilo, pero ... en un trabajo ... nunca se debe comprometer con nadie si no sabes hacer algo, es decir, tienes dos soluciones, una, o te buscas a un freelance o a una empresa para que te haga ese trabajo, o dos, te buscas la vida como lo estas haciendo ... cosa poco recomendable como ves ya que no te es factible.

Revisa esa pagina que es lo que exactamente quieres.
__________________
Usuario registrado de Linux #288725
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:45.