每个月显示mysql日历

每个月显示mysql日历,mysql,sql,pivot,Mysql,Sql,Pivot,我正在开发一个网站,其中有一个与数据库相连的空缺日历。我已成功创建了一个表格,其中列出了从2012-10-01到2030年的每一天,包括以下字段: MyTable ----------- -dt date -mid smallint (ID for each month) -y smallint (year) -m tinyint (month) -d tinyint

我正在开发一个网站,其中有一个与数据库相连的空缺日历。我已成功创建了一个表格,其中列出了从2012-10-01到2030年的每一天,包括以下字段:

MyTable
-----------                 
 -dt date                       
 -mid smallint (ID for each month)  
 -y smallint (year)         
 -m tinyint (month)         
 -d tinyint (day)                   
 -dw tinyint (day of week)          
 -monthName varchar             
 -isVacant binary   
 -isWeekday  binary
我想在网站上显示这些数据,显示每个月(中旬)的连续数据,显示每天的数据,以及这些数据是空的还是有人使用。我需要将数据从行转换为列

我一直在寻找这样一个查询,但到目前为止没有任何结果。我曾尝试重写pivot查询的示例,但似乎语法不正确。有人能帮我吗

下面是这些东西的样子: -

为什么要在mysql查询中将数据分成单行?我只需要将数据拉入php,每天一行,然后使用php按照我想要的方式排列数据。可能有一个mysql解决方案,但我认为不值得这么做。只需在几天中循环,边走边填充阵列。

我不确定,但我认为这是您想要的。如果您提供表格数据和结果示例,可能会更好:

select m, (case d when 1 then isVacant),  (case d when 2 then isVacant), 
 (case d when 3 then isVacant), ..... 
from MyTable
group by m
order by m
编辑:查看
请注意,我创建了ISEmptance列作为整数类型的字段。

您能显示您尝试过的查询以及它们的错误吗?您能发布一些示例数据和预期结果吗?我刚刚编辑了问题,并链接到数据示例和我希望的结果。我还没有编写此类php的经验,但我将对此进行调查方向确定,谢谢你的建议。很简单
foreach($row作为$row的行){(在这里获取月和日)$array[$month][$day]=value;}
。具体情况取决于您访问数据库的方式以及您计划如何处理数据,但这些都是非常基本的内容。除非你有一个库为你做这项工作,否则没有什么是你不需要知道就可以进行任何类型的数据库访问的;检查与您的MySQL服务器版本对应的手册,以获得正确的语法,以便在第行的tblcal'中使用near'),(2时为案例d,然后为空),(3时为案例d,然后为空)1@Mat从表中粘贴一些数据,同时描述你想要的结果这个该死的网站不会让我发布截图,因为我没有名声,我不知道如何在我的问题中写表格。如果我发电子邮件给你,你会用截图编辑我的问题吗?对不起,我在你的个人资料上看不到任何地址。你能给我发邮件吗mathieuleguet@yahoo.ie那么我可以回答吗?万分感谢