前几天在百度知道里面看到有位网友询问如何制作一下的小程序:用php语言设计一个小程序,计算今天到达下月的天数、全部输出这些天数,并使得每天的日期以三种颜色循环显示,设置三个表单,让用户选择字体颜色,然后循环输出这三种颜色反映到输出的那些日期上。今天正好有时间就给他做出来啦,这个其实并没有什么实际用处,但是新手朋友们可以当做一个PHP的小练习项目,用他来熟悉或者加深对PHP的认知!
当时我给了他大体的思路如下:
1,计算今天到下个月的天数,可以用两个数组一个数组存取有30天的月份,一个数组存取有31天的月份(当然还有29,28天的,这个可以自己再仔细研究,上面只是举例)!然后获取当天的月份看在哪个数组中确定当前月份的总天数,之后就可以输出当前天到月末的所有天数啦!
2,让用户选择三种字体颜色,我觉得一个表单就行啦,用checkbox让用户选择喜欢的三种颜色!
3,循环输出三种颜色,我觉得可以这样!
1 2 3 4 5 6 7 8 9 | //$color 是存储三种颜色的数组 //$date 是存储所有天数的数组 $i = 0; $content = '' ; foreach ( $date as $value ) { $content .= '<span style="color:' . $color [ $i ]. '">' . $value . '</span>' ; $i ++; if ( $i > 2) $i = 0; } |
这样$content就包含了所有天数而且拥有颜色的样式!
下面是自己编写出来的以上PHP小练习项目的具体代码,大家可以看看,不对的地方请指正哈!
首先HTML部分代码,让用户自行选择颜色(没有规定多少种)
1 2 3 4 5 6 7 8 | < form method = "post" > < input type = "checkbox" value = "red" name = "color[]" /> 红 < input type = "checkbox" value = "black" name = "color[]" /> 黑 < input type = "checkbox" value = "blue" name = "color[]" /> 蓝 < input type = "checkbox" value = "yellow" name = "color[]" /> 黄 < input type = "checkbox" value = "green" name = "color[]" /> 绿 < input type = "submit" value = "提交" name = "send" /> </ form > |
然后是PHP后台代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | if (isset( $_POST [ 'send' ])) { //获取颜色 $color = $_POST [ 'color' ]; //计算天数 $date = date ( 'Y-m-d' , time()); $dates = explode ( '-' , $date ); $sy = array ( '1' , '3' , '5' , '7' , '8' , '10' , '12' ); $ss = array ( '4' , '6' , '9' , '11' ); //判断 if (in_array( $dates [1], $sy )) { $day = range( $dates [2], 31); } elseif (in_array( $dates [1], $ss )) { $day = range( $dates [2], 30); } else { if (( $dates [0]%4 == 0 && $dates [0]%100 != 0) || ( $dates [0]%100 == 0 && $dates [0]%400 == 0)) { $day = range( $dates [2], 29); } else { $day = range( $dates [2], 28); } } //将天数与颜色搭配 $i = 0; $content = '' ; foreach ( $day as $value ) { $content .= '<span style="color:' . $color [ $i ]. '">' . $value . '</span> ' ; $i ++; if ( $i > ( count ( $color )-1)) $i = 0; } echo $content ; |
这样$content就可以输出想要的效果啦!
想要每天及时获取王业楼的个人博客更新的内容吗?赶快添加微信公众号“ly89cn”,或者扫描下方的二维码吧!
本文来源于王业楼的个人博客,本文地址:http://www.ly89.cn/detailB/64.html
欢迎分享本文,转载请注明本文出处和地址