我想制作一个dropdownlist,从数据库中检索值。
值是用户输入日期的月份和年份。下拉列表示例:
--选择月份--
2013年11月
2013年12月
2015年3月
2016年2月
我已经进行了查询,以获得上述结果:
SELECT DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) AS dateFROM tblORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m')ASC
然而,在dropdownlist中选择月份之后,我对如何在tbl中显示所有其他列感到困惑。例如,在表tbl中,除了description列之外还有personInChargedate列。在dropdownlist中选择月份时,它将检索与所选月份相关的所有数据。
我试过用这些:
SELECT *, DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) AS dateFROM tblORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m')ASC

SELECT description, personInCharge, DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) AS dateFROM tblORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m')ASC
我得到的只是错误。我错在哪里?我该怎么完成这件事?是使用连接子句吗?如果是,怎么做?
--更新--
我可以使用这个查询列出详细信息:
SELECT *, (DATE_FORMAT(DATE(date),'%m-%Y'))AS month FROM tbl
但是,我仍然不知道如何与dropdownlist集成。

最佳答案

我只是用这两个问题。第一个查询是dropdownlist。第二个查询是显示表中的值。

$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'");

如果我的代码有任何错误,让我们在这里讨论。

10-01 17:35
查看更多