php - 下拉列表选择所有不同的

标签 php html mysql date drop-down-menu

我想制作一个从数据库中检索值的下拉列表。 这些值是用户输入日期的月份和年份。下拉列表示例:-

  • --选择月份--
  • 11-2013
  • 12-2013
  • 03-2015
  • 02-2016

我已经完成查询以获得如上的结果:-

SELECT DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) 作为日期 从表 ORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m') 升序

但是,我对如何在下拉列表中选择月份后显示 tbl 中的所有其他列感到很困惑。例如,在 tbl 表中,date 列旁边有 descriptionpersonInCharge 列。当在下拉列表中选择月份时,它假设检索与所选月份相关的所有数据。

我试过使用这些:-

SELECT *, DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) 作为日期 从表 ORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m') 升序

SELECT description, personInCharge, DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) 作为日期 从表 ORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m') 升序

等等,但我得到的只是错误。我哪里错了?我该如何完成这个?是通过使用 join 子句吗?如果是,怎么办?

--更新--

我可以使用此查询列出详细信息:-

SELECT *, (DATE_FORMAT(DATE(date),'%m-%Y'))AS month FROM tbl

但是,我仍然不知道如何与下拉列表集成。

最佳答案

我只是在使用这两个查询。第一个查询是下拉列表。第二个查询是显示表中的值。

$sql = mysql_query("SELECT DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y'))
                    AS month
                    FROM tbl
                    ORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m')
                    ASC");

$query = mysql_query("SELECT *, (DATE_FORMAT(DATE(date),'%m-%Y')) AS month
                                 FROM tbl
                                 WHERE DATE_FORMAT(DATE(date),'%m-%Y')='$date'");

如果我的代码有什么问题,请在这里讨论。

关于php - 下拉列表选择所有不同的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33663831/

相关文章:

php - $_SERVER ['REQUEST_URI' ] 和 $_GET ['q' ] 有什么区别?

javascript - Fancybox update() 函数重置我的滚动

mysql - 在mysql中将时间乘以十进制值?

mysql - AJAX 仅获取特定类的 html

php - eBay 的 PHP 和 SOAP itemFilter 查找 API 不起作用

php - 找不到 Laravel 5 类日志

javascript - 在搜索图标和取消图标之间切换

php - 如何使用 PHP 去掉 mysql_query 的最后一个逗号?

php - 使用 Selenium 通过测试帐户登录 Facebook

c# - 禁用报告按钮链接不想禁用 - html5