我想创建一个从数据库中检索值的下拉列表。 值是用户输入日期的月份和年份。下拉列表示例: -
我已完成查询以获得上述结果: -
SELECT DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) AS date
FROM tbl
ORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m')
ASC
但是,在下拉列表中选择月份之后,我对如何在tbl
中显示所有其他列感到困惑。比如,在表tbl
中,description
列旁边有personInCharge
和date
列。在下拉列表中选择月份时,它会假设检索与所选月份相关的所有数据。
我尝试过使用这些: -
SELECT *, DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) AS date
FROM tbl
ORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m')
ASC
和
SELECT description, personInCharge, DISTINCT(DATE_FORMAT(DATE(date),'%m-%Y')) AS date
FROM tbl
ORDER BY DATE_FORMAT(DATE(date),'%Y'), DATE_FORMAT(DATE(date),'%m')
ASC
等等,但我得到的只是错误。我哪里错了?我怎么做到这一点?是通过使用join子句吗?如果是这样,怎么样?
- UPDATE -
我可以使用此查询列出详细信息: -
SELECT *, (DATE_FORMAT(DATE(date),'%m-%Y'))AS month FROM tbl
但是,我仍然不知道如何与下拉列表集成。
答案 0 :(得分:0)
我只是使用这两个查询。第一个查询是针对下拉列表的。第二个查询是显示表中的值。
$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'");
如果我的代码有问题,请在这里讨论。