**日程表问题** 主要有2个问题,第一个是,怎么能输入一段时间就能让好几个字段都取到值第二个是,怎么能跨年度让几条记录的字段都取到值。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不大明白楼主的意思不过你可以把数据读出来了接下来 只要对你的数据进行你要的操作就可以了啊 你这个表结构不好!合理的结构应为“年”,“月”“值 ”三个字段就行了或者就是一个时间字段加一个值就行了!至于怎么读,高手们给解决一下? 我觉得标的结构还好了。当然拆分开检索也更加容易。但是拆分开也有自己的坏处。比如说,出现数据跳跃,就是当中某个月的数据没有。一样需要显示的时候,添加多余的逻辑。假如不拆分开,LZ抽取的时候,只要用上年份这个条件就可以了。画面上控制显示。比如说,设置的条件是2007-2开始的,2007-1的数据,就不要显示。这个可以根据你的输入条件来作判断。 换下表结构,一个月一个月的存就没这个问题了而且,思路会清晰的多 确实不好写,没时间都写出来,给出一点我的思路。1.根据提交的时间段做字符分割得到类似: $from_year = 2007; $from_month = 1; $to_year = 2008; $to_month = 7;2.用二维数组记录各年各月的状态 if( $from_year == $to_year ) { //$from_year作为数组索引 for( $i=i;$i<=12;$i++ ) { if( $i>= $from_month && $i<=$to_month ) { //把“1”放入数组 } else { //把“0”放入数组 } } } else { for( $i = $from_year ; $i<=$to_year ;$i++ ) { if( $i == $from_year ) { //如上,根据起始月份,把该年数组起始月份到12月份置“1” } else if( $i == $to_year ) { //根据最终月份,把该年数组从1月份到最终月份置“1” } else { //该数组所有月份置“1” } } } //程序重点在这里需要仔细考量 最终构造出如下数组: array ( array[2007]={1,1,1,1,1,1,1,1,1,1,1,1}; array[2008]={1,1,1,1,1,1,1,0,0,0,0,0}; )3. 插入数据 for( $i=$from_year;$i<=$to_year;$++ ) { insert into table (........) values ( 数组的各个变量 ) }结束。程序的关键在于第二步骤,数组的构造,细节自己考量吧,希望有帮助 解决了,用另一种方法,还是谢谢大家,散分. 如果楼主能讲一下解决的方法就更好了,楼主的例子是个经常用的到的例子! 无法获取超链接 紧急求助open_flash_chart的问题 疲敝“新帖”以上全部代码 多条件搜索+伪静态规则+分页方案 PHP 5.1.4和5.2.0的问题 我的脚本都是放在服务器htdoc目录下的,太不安全了,请问有什么方法能不让别人看到你的代码? 编译php出现的问题 新课题,php,mysql,数组,大家帮忙给看看 PHP Curl超时了. 关于php模拟登陆 php是怎么样一门语言? php要到哪里下载,要学几天?
至于怎么读,高手们给解决一下?
但是拆分开也有自己的坏处。比如说,出现数据跳跃,就是当中某个月的数据没有。一样需要显示的时候,添加多余的逻辑。假如不拆分开,LZ抽取的时候,只要用上年份这个条件就可以了。画面上控制显示。比如说,设置的条件是2007-2开始的,2007-1的数据,就不要显示。这个可以根据你的输入条件来作判断。
而且,思路会清晰的多
$from_year = 2007;
$from_month = 1;
$to_year = 2008;
$to_month = 7;2.用二维数组记录各年各月的状态 if( $from_year == $to_year )
{
//$from_year作为数组索引
for( $i=i;$i<=12;$i++ )
{
if( $i>= $from_month && $i<=$to_month )
{
//把“1”放入数组
}
else
{
//把“0”放入数组
}
}
}
else
{
for( $i = $from_year ; $i<=$to_year ;$i++ )
{
if( $i == $from_year )
{
//如上,根据起始月份,把该年数组起始月份到12月份置“1”
}
else if( $i == $to_year )
{
//根据最终月份,把该年数组从1月份到最终月份置“1”
}
else
{
//该数组所有月份置“1”
}
}
}
//程序重点在这里需要仔细考量 最终构造出如下数组:
array
(
array[2007]={1,1,1,1,1,1,1,1,1,1,1,1};
array[2008]={1,1,1,1,1,1,1,0,0,0,0,0}; )3. 插入数据 for( $i=$from_year;$i<=$to_year;$++ )
{
insert into table (........) values ( 数组的各个变量 )
}结束。程序的关键在于第二步骤,数组的构造,细节自己考量吧,希望有帮助