Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   ayuda sobre evento en php (https://www.clubdelphi.com/foros/showthread.php?t=2472)

jfvoviedo 24-07-2003 20:15:51

ayuda sobre evento en php
 
Hola, estoy realizando un formulario en php, y necesito controlar el evento de un elemento lista, para que cada que cambie de valor, tambien lo haga otra lista. Algo asi como si seleccionamos un Estado de un pais, mostrar las ciudades en otra lista de seleccion.

gracias.

__hector 24-07-2003 22:57:18

Debes tomar en cuenta que php no ejecuta en el cliente, y lo que pretendes controlar es un evento que se produce en el cliente, asi que tendras que auxiliarte un poco (o mucho) en javascript (por decir algo).

Lo puedes hacer de dos formas, ambas tienen un punto comun, y es asignar una rutina al evento onChange del SELECT:

<SELECT NAME="nombre" onChange="haztalcosa()">

En ese onchange, bien puedes recargar la pagina y pasarle un parametro con algun campo que te permita rellenar el otro select:

Código:

<onChange="pagina.php?talcosa=1">
....
....
<?
    if el request de la variable talcosa entonces
        Hago el select de la tabla  y relleno el otro select
?>

Puedes tambien manejarlo todo desde el cliente, creando los datos intercambiables entre cada lista al momento de cargar la pagina, y manejarlo con javascript.

Ventajas del primer metodo: pocos datos viajan al cliente, mas carga para el servidor
Del segundo, lo contrario.

kayetano 25-07-2003 00:20:37

Hola

Como bien dice Hecot con el evento "onchange" del "select" debes cambie el contenido de otro select.

Las opciones que tienes son recargar la pagina, con la consiguiente perdida de tiempo si modificas mucho el valor de la lista "padre".

La segunda opcion es crear una tabla en JavaScript con todos los posibles valores de la lista "hija" y desde javascrit coger los valores que necesites sin tener que recargar.

Aque te dejo un ejemplo
http://www.servibanner.com/contenido/login.php

Cuando cambias de "sector" se recarga el "subsector". Esta un poco liado pero creo que te servra

jfvoviedo 25-07-2003 01:55:29

gracias por contestar, creo que probare con la opcion de recargar la pagina, ya que los datos los estare tomando de la base de datos.

voy a realizar las pruebas y ya les estare dando lata, ya que apenas estoy comenzando con php.

Saludos.

kayetano 25-07-2003 15:17:19

Hola

En el ejemplo que te he puesto, los datos se cogen de una base de datos, y genero la tabla desde php.

jfvoviedo 25-07-2003 22:33:50

gracias kayetano, ya resolvi el problema.

pero ahora tengo otro problema, necesito mostrar los resultados de acuerdo a la letra de inciio de su nombre, es decir poner una barra con todas las letras del abecedario y al realizar unclic sobre alguna de ellas, mostrar estos.

¿como puedo realizar la accion de que al hacer clic sobre dicha letra yo envie una consulta nuevamente?

agradeceria si alguien me puediera ayudar


saludos.

__hector 26-07-2003 18:24:22

Exactamente igual, pq sigues teniendo los mismos controles, y el evento que se dispara al cambiar de "letra" (opcion) sigue siendo el mismo.

Si lo estas haciendo en el servidor y no con javascript, puedes entonces poner una clausula where al select de la tabla, algo como:

where campo like '$letracapturada%'

Y, si lo estas haciendo desde javascript, recarga la lista buscando que la primera letra de cada elemento coincida con la que ya seleccionaste (mirate el metodo indexof del objeto string)


La franja horaria es GMT +2. Ahora son las 04:44:47.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi