Elemento seleccionado de la lista desplegable: datos de llamada / recuperación
Frecuentes
Visto 1,388 veces
0
Tengo una lista desplegable en un formulario web que contiene fechas. Mi pregunta: ¿Cómo puedo llamar a los datos de ese elemento seleccionado (fecha) desde una base de datos MySQL y mostrárselos al usuario? Y más específicamente, si esa fecha seleccionada no tiene datos en la base de datos, quiero poder mostrar eso también. Estoy buscando una solución Javascript y, si es posible, una solución php (preferida).
¡Gracias!
3 Respuestas
1
Si no desea tener que actualizar la página, puede usar AJAX para realizar una llamada asíncrona a otra página PHP, pasando la fecha seleccionada como parámetro de URL. Esta otra página de PHP podría ejecutar la consulta en la base de datos y devolver los valores que necesite para que su página se actualice con los resultados de la consulta.
Recomiendo usar las capacidades AJAX de jQuery. He aquí un buen ejemplo.
respondido 09 mar '12, 16:03
1
Editar: estas muestras usan PHP y CSS
El primer paso es abrir una conexión con la base de datos MySQL. Necesitará alguna información de su proveedor de alojamiento para que esto funcione, pero por lo general, se ve así:
<?php
$connection = mysql_connect("", "root@localhost", "")
or die("Couldn't connect: ".mysql_error());
mysql_select_db("SOME_TABLE", $connection)
or die( "Unable to select database");
A continuación, recuperará los datos de fecha de cualquier tabla que esté utilizando. Puedes usar php mysql_fetch_array
función para seleccionar toda la información de la tabla de la declaración de selección anterior. El valor devuelto es igual a un $row
matriz con columnas como índices.
$res = mysql_query("SELECT DATE FROM SOME_TABLE");
?>
El siguiente paso es generar los divs desplegables. No estoy completamente seguro de cómo verificar si una tabla está vacía, pero creo que lo hice bien en el siguiente código:
<!DOCTYPE html>
<html>
<head>
<title>Drop down!</title>
</head>
<body>
<?php
$row = mysql_fetch_array($res,MYSQL_NUM);
if($row == null) { //This I'm not positive about
?>
<div class="dropdown">NUTHIN</div>
<?php
} else {
while($row=mysql_fetch_array($res,MYSQL_NUM)){ ?>
<div class="dropdown">
<?php echo $row[0] ?>
</div>
<?php } } ?>
</body>
</html>
Después de que todo esto funcione, obtener un menú desplegable para que funcione es pan comido. De hecho, se puede hacer puramente con CSS. Aquí hay un ejemplo:
<head>
<style>
#menu_group {
position:relative;
width:200px;
background-color:#F00;
}
.menu_item {
display:none;
background-color:#FF0;
}
#menu_group:hover > .menu_item {
display:block;
}
</style>
</head>
<body>
<div id="menu_group">Something
<div class="menu_item">1</div>
<div class="menu_item">2</div>
<div class="menu_item">3</div>
</div>
</body>
Así es como funciona: si el usuario se desplaza sobre un elemento con una identificación de menu_group
, todos los elementos secundarios con un nombre de clase de menu_item
cambiará su display
propiedad de none
(ala invisible) a block
(elemento visible a nivel de bloque).
Espero que todo haya ayudado. No tengo garantías de que este código funcione sin problemas, excepto el menú desplegable de CSS de todos modos.
respondido 09 mar '12, 16:03
Muchas gracias, gran respuesta. Me gustaría saber por qué usó divs y CSS para su lista desplegable, y no y etiquetas? ¿O eso realmente no importa? - Diestro Dave
@DextrousDave Supuse que estabas construyendo un menú de enlace de la página principal, o algo similar. De todos modos, no debería importar demasiado. Simplemente cree los elementos que necesita a través de un lenguaje del lado del servidor y luego aplique el css a esos elementos una vez que sepa que están funcionando. - Jeffrey Sweeney
0
cree una tabla con un campo de identificación, fecha y hora y otra información relevante. en el evento de cambio en javascript, use una llamada ajax a su base de datos (por DateTime) y renderícela en su página
respondido 09 mar '12, 16:03
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php javascript mysql html or haz tu propia pregunta.
¿Tienes algún código de ejemplo que hayas probado? Es mucho más fácil si lo intenta primero, luego podemos mostrarle a dónde ir. ¿Has hecho esta búsqueda en Google "jQuery select dropdown"? Muchas cosas buenas - ThePrimeagen
sí, investigué un poco en Internet, pero no pude encontrar ninguna aplicable, las únicas que pude encontrar fueron soluciones ASP: DextrousDave