我想制作一个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
列之外还有personInCharge
和date
列。在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'");
如果我的代码有任何错误,让我们在这里讨论。