变相怪杰 发表于 2015-2-4 00:22:51

PHP编程:一个复杂编程思惟在php与java中的完成比...

多去关于PHP的网站,尤其有很多经典的文章,多读读这些文章显然是有好处的。对照|编程   之前用PHP时写了一个复杂的class,功效次要是处理,大批页面上需求显示下拉列表框选择年/月/日/周之类的。但愿对人人进修PHP和java能有匡助。

php的完成以下:
getCurrentDate.class.php
<?php
/*
* 功效:生成下拉列表(年/月/日/周为以后值)
* 法式员:xiangli
* 日期:2003-01-19
*/

#---------------------------------------------------#
# 修正:2003-03-18                                  #
# 修正缘由:添加了周的生成                            #
#-------------------------------------------------#

class getCurrentDate{
var    $Years = 2002;
var    $Months = 12;
var    $Days = 31;
var    $Weeks = 52;

    /*取得年的下拉列表*/
    function getCurrentYear()
    {
      for ($i = Date('Y'); $i >= $this->Years; $i--)
      {
            echo "<option value='$i'>{$i}年</option>\n";
      }
    }

    /*取得月的下拉列表*/
    function getCurrentMonth()
    {
      for ($i = 1; $i <= $this->Months; $i++)
      {
            ($i<10)?($m="0".$i):($m=$i);            
            if($i == date('m'))
                echo "<option value='$m' selected>{$m}月</option>\n";
            else
                echo "<option value='$m'>{$m}月</option>\n";
      }
    }

    /*取得日的下拉列表*/
    function getCurrentDay()
    {
      for ($i = 1; $i <= $this->Days; $i++){
            if($i == date('d'))
                echo "<option value='$i' selected>{$i}日</option>\n";
            else
                echo "<option value='$i'>{$i}日</option>\n";
      }
    }
   
    /*取得周的下拉列表*/
    function getCurrentWeek()
    {
      for ($i = 1; $i <= $this->Weeks; $i++){
            if($i == date('W'))
                echo "<option value='$i' selected>{$i}周</option>\n";
            else
                echo "<option value='$i'>{$i}周</option>\n";
      }
    }   
}
?>

挪用以下:
includ("../public/getCurrentDate.class.php");
$getCurrentDate = net getCurrentDate();
<select name ="xxxxx">
<?=$getCurrentDate->getCurrentYear()?>
</select>
//////////////////////////////////////////////////////////


java的完成办法:
getCurrentDate.java
/*
* 功效:生成下拉列表(年/月/日/周为以后值)
* 法式员:xiangli
* 日期:2003-01-19
*/

// #---------------------------------------------------#
// # 修正:2003-03-18                                 #
// # 修正缘由:添加了周的生成                         #
// #-------------------------------------------------#

import java.io.*;
import java.util.*;
import java.text.*;

public class getCurrentDate {
public int Years = 2002;
public int Months = 12;
public int Days = 31;
public int Weeks = 52;
Date myDate = new Date();
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd w");

    /*取得年的下拉列表*/
    public String getCurrentYear()
    {
      String Content = "";
      for (int i =Integer.parseInt(formatter.format(myDate).toString().substring(0, 4)); i >= Years; i--)
      {
            Content += "<option value='" + i + "'>" + i + "年</option>\n";
            
      }
      return Content;
    }

    /*取得月的下拉列表*/
    public String getCurrentMonth()
    {
      String m;
      String Content = "";
      
      for (int i = 1; i <= Months; i++)
      {
            m=i<10?("0" + i):Integer.toString(i);
            if(i == Integer.parseInt(formatter.format(myDate).toString().substring(5, 7)))
                Content += "<option value='" + m + "' selected>" + m + "月</option>\n";
            else
                Content += "<option value='" + m + "'>" + m + "月</option>\n";
      }
      return Content;
    }

    /*取得日的下拉列表*/
    public String getCurrentDay()
    {
      String Content = "";
      String m;
      
      for (int i = 1; i <= Days; i++){
            m=i<10?("0" + i):Integer.toString(i);
            if(i == Integer.parseInt(formatter.format(myDate).toString().substring(8, 10)))
                Content += "<option value='" + m + "' selected>" + m + "日</option>\n";
            else
                Content += "<option value='" + m + "'>" + m + "日</option>\n";
      }
      return Content;
    }
   
    /*取得周的下拉列表*/
    public String getCurrentWeek()
    {
      String Content = "";
      String m;
      
      for (int i = 1; i <= Weeks; i++){
            m=i<10?("0" + i):Integer.toString(i);
            if(i == Integer.parseInt(formatter.format(myDate).toString().substring(11)))
                Content += "<option value='" + m + "' selected>" + m + "周</option>\n";
            else
                Content += "<option value='" + m + "'>" + m + "周</option>\n";
      }
      return Content;
    }   
}


挪用办法:
<jsp:useBean id="getCurrentDate" scope="session" class="getCurrentDate" />
<select name="Years">
<%=getCurrentDate.getCurrentYear()%>
</select>
<select name="Months">
<%=getCurrentDate.getCurrentMonth()%>
</select>
<select name="Days">
<%=getCurrentDate.getCurrentDay()%>
</select>
<select name="Weeks">
<%=getCurrentDate.getCurrentWeek()%>
</select>   在这里想谈谈自己这六个多月的PHP学习心得,希望对给比我还新的新手们有所帮助,讲的不是很深刻,甚至有的想法可能是错误的,希望不要误导新人才好,大家要有自己的主见。

admin 发表于 2015-2-4 12:50:27

首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。

活着的死人 发表于 2015-2-9 22:40:59

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

乐观 发表于 2015-2-10 04:21:00

实践是检验自己会不会的真理。

精灵巫婆 发表于 2015-2-15 22:34:13

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

愤怒的大鸟 发表于 2015-3-4 15:40:38

有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。

变相怪杰 发表于 2015-3-6 18:06:54

我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。

简单生活 发表于 2015-3-11 18:33:47

Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81

小魔女 发表于 2015-3-19 17:52:27

曾经犯过一个很低级的错误,我在文件命名的时候用了一个横线\\\\\\\'-\\\\\\\' 号,结果找了好几个小时的错误,事实是命名的时候 是不能用横线 \\\\\\\'-\\\\\\\' 的,应该用的是下划线\\\\\\\'_\\\\\\\' ;

柔情似水 发表于 2015-3-20 08:31:49

实践是检验自己会不会的真理。

再见西城 发表于 2015-3-22 23:10:45

开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。

金色的骷髅 发表于 2015-3-27 06:07:27

刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。

蒙在股里 发表于 2015-4-1 12:08:57

爱上php,他也会爱上你。

分手快乐 发表于 2015-4-23 19:12:49

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

若天明 发表于 2015-4-26 11:11:04

我还是强烈建议自己搭建php环境。因为在搭建的过程中你会遇到一些问题,通过搜索或是看php手册解决问题后,你会更加深刻的理解它们的工作原理,了解到php配置文件中的一些选项设置。

莫相离 发表于 2015-5-1 08:30:28

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

山那边是海 发表于 2015-5-4 13:59:45

装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。

若相依 发表于 2015-5-8 08:33:27

写js我最烦的就是 ie 和 firefox下同样的代码 结果显示的结果千差万别,还是就是最好不要用遨游去调试,因为有时候遨游是禁用js的,有可能代码是争取结果被遨游折腾的认为是代码写错。

深爱那片海 发表于 2015-6-5 11:00:33

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页: [1]
查看完整版本: PHP编程:一个复杂编程思惟在php与java中的完成比...