Elemento seleccionado de la lista desplegable: datos de llamada / recuperación

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!

preguntado el 09 de marzo de 12 a las 16:03

¿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 -

sí, investigué un poco en Internet, pero no pude encontrar ninguna aplicable, las únicas que pude encontrar fueron soluciones ASP:

3 Respuestas

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

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

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 or haz tu propia pregunta.