我将在CodeIgniter中为PHP逻辑工作,结合通常的CSS,jQuery,MysqL. PHP是课程的要求;我选择在CI中这样做,因为好..我想学习框架.我们必须炫耀我们在“学校生涯”这个时候能做些什么.
无论如何,我想问一些关于我要实施的功能的见解.在我的页面顶部,我想显示一个包含当月的日子的酒吧.在日数之下,我将通过一些点显示当天添加了多少任务.当用户点击上一个或下一个时,我想显示上一个/下个月的日子.我还想要这个框下面的一些滑块,用户可以使用这个滑块来左右滑动,并以这种方式循环.我希望有道理吗?
编辑2:我想要滑块是动态的.如果用户滑动到上一个月或接下来的几个月,或点击按钮,我希望它加载上一个/下个月的日子并显示这些.另外,假设我们在一个月的26日,滑块将不得不显示这个月份的10-31,下个月的1-10.我想我也必须更改我的月份指示(不像在这里的图像),所以用户知道另外一个月开始(我会显示他们的名字).
这里有一张照片(不要介意,当天的数字被搞砸了,我在Photoshop中懒惰地这样做了,会解决这个问题):
我一直在看jQuery UI滑块.我想我必须从数据库或使用PHP获取天数?我猜这个cal_days_in_month功能可以派上用场.当用户点击箭头或向左或向右滑动时,我不希望页面刷新.我应该去ajax电话吗?我不太清楚如何实现这一点,老实说.这些数字也是连接到日历类型的视图,显示在此栏下面.
我可以使用CI日历类吗?还是更多的是成熟的Google日历类型的日历?我以为this screencast可能有用吗?
如果可能,有人可以提供一些关于如何开始工作的见解以及我可能使用哪些插件等等?我不知道从哪里开始,老实说.我相信我可以以某种方式工作,但是我想这可以通过一些帮助来获得kickstart是很好的.我看到的主要问题是滑块/下一个/上一个事情,并在上个月/下个月的日子里加载.
提前致谢.
编辑:我意识到有些人可能会说/认为’OMG,你为什么不用你所拥有的技能,而不是尝试一些你要问我们的事情!那么这是因为我实际上想在做这个项目时学习一些东西.记住,我不是在这里要求代码行,我只是要求一些洞察,从哪里开始和使用什么东西;也许很少的片段可以帮助我.谢谢.
更新:
我有一个非常基本的“日间酒吧”工作.仍然没有滑块,也没有上一个和下一个按钮的工作,但嘿..至少它填充它动态.它显示了当天前5天,那么这个月直到最后.无论填写什么都可以填补下个月的日子.相当基本但是,我确实有几个问题!
由于昨天有人告诉我,我正在通过像我这样做的方式打破设计模式,所以我非常偏袒我现在的工作方式,我真的很想从“CodeIgniter pro”的一些反馈.为了填补’日间酒吧’,我用几种方法创建了一个帮手. (一种方法来动态地填充你在图片中看到的那个“月份”的事情,另一种方法是加载日历列表的init(),就像我之前解释的那样).我在控制器中加载了这个助手,我现在正在使用我的视图中的方法:
<ul> <?PHP init($current_day_of_month,$current_month,$current_year,$days_in_current_month,$show_history); ?> </ul>
在我看来,帮手们回应了我的日子值.这是好还是坏的做法?当我想开始编写代码时,我一直在想错误的方式.我想在控制器中的某个地方有一个函数,然后从视图中调用它,但是我读到这样做不应该这样做.我不得不扭转我的逻辑.我发现很难围绕着我必须通过将数据数据发送到我的视图(从我的控制器)这样做的事实,所以我选择创建助手.好?坏?我应该看的任何提示,资源,我应该看的屏幕录像?感谢一堆
'some_controller?m=' + month + '&y=' + year
甚至:
'some_controller?next' // or prevIoUs
控制器必须获取正确月份的数据,但不会以整个月份的形式发送 – 只显示显示所需的数据,格式尽可能严格.您可以查询在该月份的几天内运行的事件数:
选择日,计数(事件)
FROM event_table
‘yyyy-mm-01’和’yyyy-mm-31’之间的日期
GROUP BY天
订单日
查询需要适应您的数据结构 – 使用函数从完整的日期获取一天,也可能使用索引,以便查询快速返回数据.
然后控制器返回一个尽可能短的字符串,按照日期顺序排列相关数据:
1 = 3,15 = 1.29 = 2
这意味着“1st = 3事件,15th = 1事件,29 = 2事件”.如果你不想要事件的数量,那么“1,15,2”就足够了.空天不传.
数据由您的网页上的ajax事件处理程序接收,并使用split解析,然后使用循环填充滑块.
在一个非常有活力的应用程序中,你最大的拖累就是当您反复要求下个月和下一个月时,它会减慢.
一些技巧:
>等待数据时更新显示;您发送查询,并且正在处理它,您可以将月份滑入视图,正确的天数,禁用,以便用户立即知道他们将获取他们的数据,并正在进行中.然后当数据到来时,填充并突出显示.它会感觉到即使不是.
>避免用户不再需要处理信息.如果有人点击“下一个”三次,他们希望数据是7月,而不是6月和7月.不要处理你不显示的内容.
>您已经询问的缓存数据,除非您希望系统动态返回服务器以获取最新的日历状态.您已经要求5月和6月的数据,但不显示;当用户点击“返回”时,不要再请求该数据.
祝你好运!