选定的下拉列表项 - 呼叫/获取数据

时间:2012-03-09 16:12:16

标签: php javascript mysql html

我在包含日期的网络表单上有一个下拉列表。我的问题:如何从MySQL数据库中调用所选项目(日期)的数据并将其显示给用户?更具体地说,如果所选日期在数据库中没有数据,我希望能够显示它。 我正在寻找一个Javascript解决方案,如果可能的话,还需要一个php解决方案(首选)。

谢谢!

3 个答案:

答案 0 :(得分:1)

如果您不想刷新页面,可以使用AJAX对另一个PHP页面进行异步调用,将所选日期作为url参数传递。这个其他PHP页面可以在数据库上运行查询并返回您需要的任何值,以便使用查询结果更新页面。

我建议使用jQuery的AJAX功能。 Here's a good example.

答案 1 :(得分:1)

编辑:这些示例使用PHP和CSS

第一步是打开与MySQL数据库的连接。您需要托管服务提供商提供的一些信息才能使用,但通常看起来像这样:

<?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");

接下来,您将从您正在使用的任何表中检索日期数据。 您可以使用php的mysql_fetch_array函数从早期的select语句中选择所有表信息。返回值等于$row数组,其中列为索引。

    $res = mysql_query("SELECT DATE FROM SOME_TABLE");

?>

下一步是生成下拉div。我不完全确定如何检查表是否为空,但我认为我在下面的代码中做对了:

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

在完成所有这些工作之后,让下拉菜单运行起来很简单。实际上,它可以完全用CSS完成。这是一个例子:

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

以下是它的工作原理:如果用户将鼠标悬停在ID为menu_group的元素上,则所有类名为menu_item的子元素都将从{{display更改其none属性1}}(ala不可见)到block(可见块级元素)。

希望一切都有所帮助。我不能保证这个代码能够完美地工作,除了CSS下拉之外。

答案 2 :(得分:0)

创建一个包含id字段,日期时间和其他相关信息的表。 在javascript中的change事件中使用对数据库的ajax调用(通过DateTime)并将其呈现到页面上