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