社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 社区论坛任务 迷你宠物
  • 3414阅读
  • 9回复

[讨论](转)十天学会PHP

级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
第一天 O:ACp<@  
以前写了十天学会ASP,十天学会ASP.NET什么的,现在想想再写个PHP吧,也算比较全了。 PHP的调试方法我这里就不说了,外面很多文章都有介绍,也有很多不同的组合。我这里暂时是以 Apache web server 和 MY SQL 作为WEB服务器和数据库,在php-4.3.3下的环境做的程序。当然要简单的构建和访问查看数据库 PHPMYADMIN 不可少。 <[$a7l i  
cj[x%eK>  
至于表单设计什么的,我这里也不想多说了,在《十天学会ASP》中已经有介绍。 yYrFk^  
FAX[| p  
下面简单介绍一下PHP的语法。 N`4XlD  
a^_W}gzzd  
1、嵌入方法: /1_O5'5+v  
^]Q.V  
类似ASP的<%,PHP可以是<?php或者是<?,结束符号是?>,当然您也可以自己指定。 n5)ml)m  
Nw(hN+_u  
2、引用文件: e,d}4 jy  
9|Ylv:sR  
引用文件的方法有两种:require 及 include。 X_!km-{  
require 的使用方法如 require("MyRequireFile.php"); 。这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份。常用的函数,亦可以这个方法将它引入网页中。 ?zfm"o  
gk;hpO  
include 使用方法如 include("MyIncludeFile.php"); 。这个函数一般是放在流程控制的处理部分中。PHP 程序网页在读到 include 的文件时,才将它读进来。这种方式,可以把程序执行时的流程简单化。 RJKi98xwJ  
R / ND f`  
3、注释方法: f'*/IG  
%m [l/,2x  
<?php 0g HV(L?  
echo "这是第一种例子。 " ; // 本例是 C++ 语法的注释 YV} "#  
/* 本例采用多行的 ]{|lGtK %  
注释方式 */ Vbe@S?u-  
echo "这是第二种例子。 " ; 7GS 4gSd3  
$G{j[iLY  
echo "这是第三种例子。 " ; # 本例使用 UNIX Shell 语法注释 Xfbr;Jt"<  
?> 4O.R=c2}7>  
|MagK$o  
4、变量类型: 7WY~v2SDF  
`)4v Q+A>  
$mystring = "我是字符串" ; Dr[;\/|#  
$NewLine = "换行了 " ; g-B{K "z  
$int1 = 38 ; m)  rVzL  
$float1 = 1.732 ; '.<c[Mp  
$float2 = 1.4E+2 ; g'{?j~g  
$MyArray1 = array( "子" , "丑" , "寅" , "卯" ); ^,F G 9  
U@CAQ?  
这里引出两个问题,首先PHP变量以$开头,第二PHP语句以;结尾,可能ASP程序员会不适应。这两个遗漏也是程序上大多错误所在。 '[HQ}Wvn  
l9OpaOVfJ  
5、运算符号: v*FbvrY  
*SIYZE'  
数学运算: 符号 意义 >B=s+ }/ME  
+ 加法运算 !]E ]Xd<  
- 减法运算 _}ii1fLv  
* 乘法运算 l'@!'  
/ 除法运算 B~| ]gd  
% 取余数 +rA#]#hN  
++ 累加 S=.%aB  
-- 递减 .'Q*_};W  
z wRF-{s  
字符串运算: l6 }+,v@#  
BfCnyL%  
运算符号只有一个,就是英文的句号。它可以将字符串连接起来,变成合并的新字符串。类似ASP中的& 9 nY|S{L  
<? *o\AP([@  
CTKw2`5u  
$a = "PHP 4" ; %'_:#!9  
$b = "功能强大" ; 9I2&Vx=DSt  
echo $a.$b; ?U[6X| 1  
?> JZ![:$:  
这里也引出两个问题,首先PHP中输出语句是echo,第二类似ASP中的<%=变量%>,PHP中也可以<?=变量? >。 qV idtSb  
>ov#\  
逻辑运算: l2YClK  
X%znNx  
符号 意义 4c{j9mh  
< 小于 .0RQbc9  
> 大于 Ok@`<6v  
<= 小于或等于 OFmHj]I7=  
>= 大于或等于 #NGtba  
== 等于 !G\gqkSL  
!= 不等于 mSYm18   
&& 而且 (And) 3 yb]d5:U  
and 而且 (And) ~@ PD\  
|| 或者 (Or) ef&8L  
or 或者 (Or) 9W]OtSG  
xor 异或 (Xor) _yR_u+5  
! 不 (Not) [>pBz3fn,  
&4}=@'G@  
今天就说到这里,明天说一下流程控制。
评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 9 发表于: 2006-09-03
学习目的:学会用PHP上传文件和发邮件 Iy4%,8C]g  
EmrkaV-?k  
上传文件表单必须加上 enctype="multipart/form-data" hgW1g#  
和 <input type="file" name="file"> i/'bpGrQ(  
下面看一下代码: [ 't.x=  
;L-)$Dy4  
$f=&$HTTP_POST_FILES['file']; 3imsIBr  
$dest_dir='uploads';//设定上传目录 czu9a"M>X  
$dest=$dest_dir.'/'.date("ymd")."_".$f['name'];//我这里设置文件名为日期加上文件名避免重复 Me? I8:/  
$r=move_uploaded_file($f['tmp_name'],$dest); _6,\;"it?8  
chmod($dest, 0755);//设定上传的文件的属性 ]dJ"_  
Zr2T^p5u  
上传的文件名为date("ymd")."_".$f['name'] ,可以在以后插入到数据库的时候用到,PHP实际上是把你上传的文件从临时目录移动到指定目录。move_uploaded_file($f['tmp_name'],$dest);这是关键 dL'oKh,  
v6=%KXSF  
至于发邮件就更加简单,可以使用mail()函数 /@1YlxKF  
l5VRdZ4Uf  
mail("收件人地址","主题","正文","From:发件人 Reply-to:发件人的地址"); bQq/~  
uF}dEDB|;  
不过mail()需要服务器的支持,在WINDOWS下还需要配置SMTP服务器,一般来说外面的LINUX空间都行。 ! M CV@5$  
好像上传文件和发邮件比ASP简单很多,只要调用函数就可以了。ASP还需要用到服务器的不同组件比如FSO、JMAIL什么的。 n-jPb064  
*<67h*|)  
十天学会PHP说到这里了,我的三大系列文章都用《十天学会》作为名字,想告诉大家的是ASP,PHP,ASP.NET入门都可以是十天,但是精通决不是十天啊,还需要大家自己去研究。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 8 发表于: 2006-09-03
学习目的:注意事项 (2> q  
OOXSJE1  
因为我是先学ASP的,所以再做PHP的时候会发现很多地方需要适应。 u*=^>LD  
e CN:  
1、注意不要漏了分号 Y %bb-|\W  
2、注意不要漏了变量前的$ B&rNgG7~  
3、使用SESSION的时候注意不要遗漏session_start(); i?(cp["7  
SDE+"MjBY  
如果发生错误的时候,可以采用以下方法: hR7uAk_?  
1、如果是SQL语句出错,就注释了然后输出SQL语句,注意也要注释调后续的执行SQL语句 .$}z</#!  
2、如果是变量为空,大多是没有传递到位,输出变量检查一下,检查一下表单的id和name =d ;#Nu-  
3、如果是数据库连接出错,检查是否正确打开MY SQL和是否遗漏了连接语句 PpG;5  
4、注意缩进,排除括号不区配的错误 |36%B7H  
d;gs1]E50  
在做大网站的时候,我的思路是先构建数据库,确定每一个字段的作用,和表之间的关系。然后设计后台界面,从添加数据开始做起,因为添加是否成功可以直接到数据库里面验证,做好了添加再做显示的页面,最后才是两者的结合。一般来说后台就包括添加删除修改和显示,后台没有问题了,前台也没有什么大问题。前台还需要注意安全性和容错还有就是输出格式。 gU|:Y&lFZg  
#CI0G  
好了,今天说到这里,明天说一下如果用PHP上传文件和发邮件。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 7 发表于: 2006-09-03
学习目的:做一个分页显示 >I~Q[  
~? aFc)  
关键就是用到了SQL语句中的limit来限定显示的记录从几到几。我们需要一个记录当前页的变量$page,还需要总共的记录数$num A~nqSe  
sPW :[  
对于$page如果没有我们就让它=0,如果有<0就让它也=0,如果超过了总的页数就让他=总的页数。 ey[Z<i1  
>M{98NH  
$execc="select count(*) from tablename "; l]wLQqoO  
$resultc=mysql_query($execc); `Rt w'Uz  
$rsc=mysql_fetch_array($resultc); j[dZ*Jr_  
$num=$rsc[0]; F::Ki4{jJ  
3>L5TYa  
这样可以得到记录总数 }MMKOr(  
ceil($num/10))如果一页10记录的话,这个就是总的页数 [efU)O&  
)6p6<y  
所以可以这么写 Nb ~J'"  
if(empty($_GET['page'])) b,+KXx  
{ U7n#TPet  
$page=0; #>:S&R?2t  
} :nb|WgEc  
else (Ytr&gh;0  
{ Et }%)M  
$page=$_GET['page']; d{NMG)`x\  
if($page<0)$page=0; S WTZ6(!oW  
if($page>=ceil($num/10))$page=ceil($num/10)-1;//因为page是从0开始的,所以要-1 &XcPHZy'  
} z)^.ai,:0  
j~ds)dW%`&  
这样$exec可以这么写 $exec="select * from tablename limit ".($page*10).",10"; 52o^]  
//一页是10记录的 BI,]pf;GWv  
9RJ#zUK  
最后我们需要做的就是几个连接: T}Wbt=\M  
<a href="xxx.php?page=0">FirstPage</a> u e  
<a href="xxx.php?page=<?=($page-1)?>">PrevPage</a> P#!g P3  
<a href="xxx.php?page=<?=($page+1)?>">NextPage</a> M"s:*c_6  
<a href="xxx.php?page=<?=ceil($num/10)-1?>">LastPage</a> !^MwE]  
=e#h;x2  
这是一个大致的思路,大家可以想想怎么来优化?今天说到这里,明天说一下一些注意的问题。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 6 发表于: 2006-09-03
学习目的:学会SESSION的使用 PD S( /x&  
x(EwHg>;  
SESSION的作用很多,最多用的就是站点内页面间变量传递。在页面开始我们要session_start();开启SESSION; nPI$<yW7F  
然后就可以使用SESSION变量了,比如说要赋值就是:$_SESSION['item']="item1";要得到值就是$item1=$_SESSION['item'];,很简单吧。这里我们可能会使用到一些函数,比如说判断是不是某SESSION变量为空,可以这么写:empty($_SESSION['inum'])返回true or false。 S`  U,  
<Bn0wr8)\  
下面综合一下前面所说的我们来看一个登陆程序,判断用户名密码是否正确。 /t]1_  
登陆表单是这样:login.php =EYgck;)  
<table width="100%" height="100%" border="0" align="center" cellpadding="0" cellspacing="0"> [75?cQD  
<tr> Yh!k uS#<  
<form action="checklogin.php" method="post"><td align="center" valign="middle"><table width="400" border="0" cellpadding="5" cellspacing="1" class="tablebg"> dB#c$1  
<tr class="tdbg"> 4Lk<5Ho  
<td colspan="2"><div align="center">Administrators Login</div></td> Dl0{pGK~  
</tr> Z~94<*LEp  
<tr class="tdbg"> fNx!'{o"  
<td><div align="center">Username</div></td> ~V?z!3r-)  
<td><div align="center"> ]CcRI|g}  
<input name="username" type="text" id="username"> x 4LPrF1  
</div></td> -"'+#9{h  
</tr> ZZHQ?p-  
<tr class="tdbg"> v\G 7V  
<td><div align="center">Password</div></td> !+Y+P?  
<td><div align="center"> G!C }ULq  
<input name="password" type="password" id="password"> H-e$~vEbP  
</div></td> t%^&b'/Z  
</tr> K^"l.V#J  
<tr class="tdbg"> NA0Z~Ug>  
<td colspan="2"><div align="center"> DEkv,e  
<input type="submit" name="Submit" value="Submit"> l0t(t*[Mj  
<input type="reset" name="Submit2" value="Clear"> B<.\^f uS  
</div></td> R87@.  
</tr> *K?UWi#$  
</table></td></form> d:A'|;']  
</tr> E+<GsN]  
</table> _XY(Qd  
cQd?,B3#F  
处理文件是这样 ?ZC!E0]  
<? MK Sw  
require_once('conn.php'); lq3D!+ m  
session_start(); {*8G<&  
$username=$_POST['username']; =6\^F i  
$password=$_POST['password']; }zkFl{/u  
$exec="select * from admin where username='".$username."'"; `mD!z.`U  
if($result=mysql_query($exec)) ps`j>vX*  
{ Z 369<  
if($rs=mysql_fetch_object($result)) K9}Brhe  
{ M(\{U"%@?  
if($rs->password==$password) 9o?\*{'KT  
{ x{ `{j'  
$_SESSION['adminname']=$username; AG%[?1IXW  
header("location:index.php"); ;C1#[U1Uy  
} iYYuZ.  
else RSB+Saf.8  
{ Hiwij,1  
echo "<script>alert('Password Check Error!');location.href='login.php';</script>"; F3o"ETle  
} qG~6YCqii  
} WO!OaC?+B,  
else sieC7raO  
{ #k &#d9}  
echo "<script>alert('Username Check Error!');location.href='login.php';</script>"; WQ:Y NmQ1p  
} ?A.ah  
} =\5f_g2M  
else 5"1wz  
{ RZnmia  
echo "<script>alert('Database Connection Error!');location.href='login.php';</script>"; 87S,6Y  
} %Q}(.h%M  
y#`;[!  
?> a\,V>}e  
,|z zq@fk  
conn.php是这样: <RC%<  
<? LH_ U#P`E  
$conn=mysql_connect ("127.0.0.1", "", ""); 14uv[z6  
mysql_select_db("shop"); 1!U:M8T|  
?> X6w+L?A  
IW@phKz  
由于 $_SESSION['adminname']=$username;我们可以这样写验证是否登陆语句的文件:checkadmin.asp ;P8% yf  
<? !OPHS^L  
session_start(); Vom,^`}  
if($_SESSION['adminname']==') {^;7DV:  
{ qq[Dr|%7  
echo "<script>alert('Please Login First');location.href='login.php';</script>"; <u# 7K\:  
} ?-9uf\2_  
?> Bzt:9hr6BO  
6r@>n_6LY  
呵呵,今天说到这里,明天说一下怎么弄一个分页。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 5 发表于: 2006-09-03
学习目的:学会添加删除修改数据 kv?DE4=;  
RDy&i  
mysql_query($exec); ?0JNaf  
单这个语句就可以执行所有的操作了,不同的就是$exec这个sql语句 i!RYrae  
k w   
添加:$exec="insert into tablename (item1,item2) values ('".$_POST['item1']."',".$_POST['item1'].")"; 0fUsERr1*  
R(P(G;#j  
删除:$exec="delete from tablename where..."; D8Mq '$-  
5.yiNWh  
修改:$exec="update tablename set item1='".$_POST['item1']."' where ..."; II~91IEk  
: vgn0 IQ  
说到这里就要说一下表单和php变量传递,如果表单中的一个 <input name="item1" type="text" id="item1"> aiE\r/k8s  
表单以POST提交的,那么处理表单文件就可以用$_POST['item1']得到变量值,同样以GET提交的就是$_GET['item1'] <X& fs*x&  
dmLx$8  
是不是很简单?但是通常$exec会有问题,因为可能您的SQL语句会很长,您会遗漏.连接符,或者'来包围字符型字段。 OpIeo+^X*  
我们可以注释mysql_query($exec);语句用echo $exec;代替来输出$exec以检查正确性。如果您还不能察觉$exec有什么错误的话,可以复制这个sql语句到phpmyadmin中执行,看看它的出错信息。还有需要注意的是,我们不要使用一些敏感的字符串作为字段名字,否则很可能会出现问题,比如说date什么的。变量的命名,字段的命名遵循一点规律有的时候对自己是一种好处,初学者并不可忽视其重要性。 w2('75$J  
UH\{:@GjNO  
今天就说到这里,大家可以DOWN一个SQL语句的参考手册,再研究研究。明天继续说SESSION。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 4 发表于: 2006-09-03
学习目的:学会读取数据 L8 NZU*"  
?q2Yk/P  
先看两个函数: BTG_c_ ?]e  
1、mysql_query Hfo<EB2Y9N  
送出一个 query 字符串。 语法: int mysql_query(string query, int [link_identifier]); 返回值: 整数 `f~$h?}3-@  
Lz:FR*  
本函数送出 query 字符串供 MySQL 做相关的处理或者执行。若没有指定 link_identifier 参数,则程序会自动寻找最近打开的 ID。当 query 查询字符串是 UPDATE、INSERT 及 DELETE 时,返回的可能是 true 或者 false;查询的字符串是 SELECT 则返回新的 ID 值,当返回 false 时,并不是执行成功但无返回值,而是查询的字符串有错误。 %4YSuZg  
Vw`Q:qo0:b  
2、mysql_fetch_object 返回类资料。 语法: object mysql_fetch_object(int result, int [result_typ]); 返回值: 类 Pv\8 \,B9  
eT(X Ri0  
本函数用来将查询结果 result 拆到类变量中。若 result 没有资料,则返回 false 值。 &uBf sa$  
B8.}9  
看一个简单的例子: a+a6P5kJ  
<? /nX_Q?mo  
$exec="select * from user"; IX<9_q  
$result=mysql_query($exec); 8ZCA vEy  
while($rs=mysql_fetch_object($result)) ,]]IJ;:w  
{ T*8K.yw2  
echo "username:".$rs->username."<br>"; d'3"A"9R7-  
} Ss\?SEq  
?> &k-NDh3  
当然,表user中有一个username的字段,这就类似asp中的 7-u'x[=m  
<% Q&?0 ^;r  
exec="select * from user" 8$ #z>  
set rs=server.createobject("adodb.recordset") m!P<# |V  
rs.open exec,conn,1,1 @'?gan#(  
do while not rs.eof a69e^;,>q  
response.write "username:"&rs("username")&"<br>" $MfRw  
rs.movenext  ?<8c  
loop \n^[!e"`  
%> pFwJ:  
当然先要连接数据库,一般我们 require_once('conn.php');而conn.php里面就是上一次说的连接数据库的代码。 u!F\`Gfm_  
du#f_|xG  
小小的两条命令可以完成读取数据的工作了,今天说到这里下一次说数据的添加删除修改。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 3 发表于: 2006-09-03
学习目的:学会连接数据库 zn_#}}e;G  
EYC ZuJxv  
PHP简直就是一个函数库,丰富的函数使PHP的某些地方相当简单。建议大家down一本PHP的函数手册,总用的到。 DQ[7p(  
G#6Z@|kVw  
我这里就简单说一下连接MYSQL数据库。 KtH^k&z.f  
'RzO`-dr  
1、mysql_connect cx&\oP  
LXhR"PWZM\  
打开 MySQL 服务器连接。 Y5;afU='  
语法: int mysql_connect(string [hostname] [:port], string [username], string [password]); 返回值: 整数 #:/27  
|>m'szca4  
本函数建立与 MySQL 服务器的连接。其中所有的参数都可省略。当使用本函数却不加任何参数时,参数 hostname 的默认值为 localhost、参数 username 的默认值为 PHP 执行行程的拥有者、参数 password 则为空字符串 (即没有密码)。而参数 hostname 后面可以加冒号与端口号,代表使用哪个端口与 MySQL 连接。当然在使用数据库时,早点使用 mysql_close() 将连接关掉可以节省资源。 >kmgYWG  
y'>JT/Q5  
2、 mysql_select_db ~kSO YvK$'  
.]JIo&>5  
选择一个数据库。 S $o1Q  
语法: int mysql_select_db(string database_name, int [link_identifier]); 返回值: 整数 iXL^[/}&?M  
j|N<6GSke  
本函数选择 MySQL 服务器中的数据库以供之后的资料查询作业 (query) 处理。成功返回 true,失败则返回 false。 -/0\_zq7  
r)K5<[\r  
最简单的例子就是: UL>2gl4s/  
$conn=mysql_connect ("127.0.0.1", "", ""); UwF-*(#41  
mysql_select_db("shop"); H{S+^'5Y.  
连接机MY SQL数据库,打开SHOP数据库。在实际应用中应当加强点错误判断。 ">eled)O  
dC-~=}HR^  
今天就说到这里,明天再说一下数据库的读取。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 2 发表于: 2006-09-03
学习目的:学会构建数据库 ^H1m8=  
^,AE;Z T7  
在ASP中,如果是ACCESS数据库你可以直接打开ACCESS来编辑MDB文件,如果是SQL SERVER你可以打开企业管理器来编辑SQL SERVER数据库,但是在PHP中,MY SQL的命令行编辑可能会令初学者感到很麻烦,不要紧,你下载一个PHPMYADMIN安装一下,以后建立编辑数据库可以靠它了。 a7F_{Mm  
d^!k{Qx'  
下面说一下它的使用。 f5b|,JJ  
进入了phpmyadmin后,我们首先需要建立一个数据库,Language (*) 这里选择中文简体,然后在左边的 创建一个新的数据库 这里填写数据库名字,点击创建即可。 8AY;WL:;  
.35~+aqC  
然后在左边下拉菜单中选择那个已经创建的数据库。在下面的 J@E]Fl  
&ZkJ,-  
在数据库 shop 中创建一个新表 : "c]9Q%  
名字 : &B[*L+-E  
字段数 : fDplYn#  
z uW4gJ  
中填写表名字和大致你认为的字段数(不够或者多了都不要紧,以后可以再添加或者缺省),按执行。 FA)ot)]  
然后就可以开始建立表了。 a3\~AO H%  
第一栏是字段的名字;第二栏选择字段类型: ecJjE 56P  
我们常用的是以下几个: 1hgIR^;[b  
1)VARCHAR,文本类型 ,pdzi9@=t  
2)INT,整数类型 &y=OZ !M  
3)FLOAT,浮点数类型 3%1wQXr0  
4)DATE,日期型 A46q`l9B  
5)大家或许会问,自动添加的ID在哪里?这个只要选择INT类型,在后面的额外中选择 auto_increment 就可以了。 jdu6P+_8n  
8~R.iqLoX  
建立了表以后,可以在左边看到你建立的表,点击以后,你可以: *GBV[D[G,  
1)按右边的结构:查看修改表结构 O TlqJ  
2)按右边的浏览:查看表中的数据 oST)E5X;7  
3)按右边的SQL:运行SQL语句 eLORG(;h4  
4)按右边的插入:插入一行记录 7=}tJ  
5)按右边的清空:删除表中所有记录 r0lI&25w  
6)按右边的删除:删除表 Tgtym"=xd  
DzE^FY  
还有一个很重要的功能就是导入和导出,当我们本机做好了程序和数据库的时候,需要在服务器上也有一个本地镜像,如果是ASP的ACCESS简单了,直接上传MDB文件即可,如果是SQL SERVER也可以连接远端服务器进行导入。那么MY SQL中你可以导出所有的SQL语句,到了远端服务器的PHPMYADMIN上,创建数据库后按SQL,粘帖你刚才复制下来的所有本级生成的SQL语句即可。 V*Fy@  
j y5[K.  
今天就说到这里,明天继续说数据库操作。
级别: 终身会员
发帖
3743
铜板
8
人品值
493
贡献值
9
交易币
0
好评度
3746
信誉值
0
金币
0
所在楼道
只看该作者 1 发表于: 2006-09-03
学习目的:掌握php的流程控制 .[]S!@+%  
_rIo @v  
1、if..else 循环有三种结构 z[QDJMt>  
&ZC{ _t  
第一种是只有用到 if 条件,当作单纯的判断。解释成 "若发生了某事则怎样处理"。语法如下: 1R~$m  
6O6B8  
if (expr) { statement } \:1$E[3v  
sfw* _}y  
其中的 expr 为判断的条件,通常都是用逻辑运算符号当判断的条件。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。 x,10o   
&`n:AR`  
范例:本例省略大括号。 p19(>|$J  
.$x}~Sw  
<?php 9v*y&V9/  
if ($state==1)echo "哈哈" ; JluA?B7E  
?> >W-xDzJry  
yLfyLyO L  
这里特别注意的是,判断是否相等是==而不是=,ASP程序员可能常犯这个错误,= 是赋值。 E Zf|>^N  
9D=X3{be#  
范例:本例的执行部分有三行,不可省略大括号。 |mn} wNUN]  
$A{$$8P  
<?php f:~G)  
if ($state==1) { /N*<Fq7w~  
echo "哈哈 ; Nh^I{%.x  
echo "<br>" ; !9$}1_,is  
} db_?da;!`  
?> R0*P,~L;|  
kjV>\e  
H.{Fw j4  
第两种是除了 if 之外,加上了 else 的条件,可解释成 "若发生了某事则怎样处理,否则该如何解决"。语法如下 Oi:Hs  
uIO,9> ee  
if (expr) { statement1 } else { statement2 } 范例:上面的例子来修改成更完整的处理。其中的 else 由于只有一行执行的指令,因此不用加上大括号。 [j@i^B &  
<?php :KX*j$5U  
if ($state==1) { &(, &mE  
echo "哈哈" ; GiuE\J9i  
echo "<br>"; f~P YK  
} E`^ D9:3:)  
else{ 4 5.g;  
echo "呵呵"; TK' 5NM+4  
echo "<br>"; (VN'1a (  
} oz{X"jfu  
?> WeH_1$n5  
W[)HFh(#  
7i xG{yu  
第三种就是递归的 if..else 循环,通常用在多种决策判断时。它将数个 if..else 拿来合并运用处理。 kDm uj>D  
vqf}(/.D  
直接看下面的例子 }[PwA[k'  
[3-u7Fx!  
<?php #BBDI  
if ( $a > $b ) { N5;z5E  
echo "a 比 b 大" ; DKMkCPX%  
} elseif ( $a == $b ) { -YQS\@?  
echo "a 等于 b" ; ;k#_/c  
} else { -nC&t~sD  
echo "a 比 b 小" ; '\8YH+%It  
} V(ww F  
?> l6WEx -d  
bIBF2m4  
上例只用二层的 if..else 循环,用来比较 a 和 b 两个变量。实际要使用这种递归 if..else 循环时,请小心使用,因为太多层的循环容易使设计的逻辑出问题,或者少打了大括号等,都会造成程序出现莫名其妙的问题。 iH-,l  
iN'T^+um=  
2、 for 循环就单纯只有一种,没有变化,它的语法如下 NkBvN\CQ  
Hn)? xw]x  
for (expr1; expr2; expr3) { statement } ^J7q,tvbJ  
['\R4H!x  
其中的 expr1 为条件的初始值。expr2 为判断的条件,通常都是用逻辑运算符号 (logical operators) 当判断的条件。expr3 为执行 statement 后要执行的部份,用来改变条件,供下次的循环判断,如加一..等等。而 statement 为符合条件的执行部分程序,若程序只有一行,可以省略大括号 {}。 <BBzv-?D  
+0ukLc@  
下例是用 for 循环写的的例子。 .{8[o[w =  
Pz2Q]}(w  
<?php ~gZ1*8 s`  
for ( $i = 1 ; $i <= 10 ; $i ++) { ]JGq{I>%+6  
echo "这是第".$i."次循环<br>" ; jsgDJ}  
} ~s'}_5;VY  
?> aDX&j2/  
dPpQCx f  
3、 switch 循环,通常处理复合式的条件判断,每个子条件,都是 case 指令部分。在实作上若使用许多类似的 if 指令,可以将它综合成 switch 循环。 GR*sk#{  
Hc\@{17   
语法如下 [|*7"Q(  
u?SwGXi~8  
switch (expr) { case expr1: statement1; break; case expr2: statement2; break; default: statementN; break; } cOpe6H6,bz  
dT7f yn  
其中的 expr 条件,通常为变量名称。而 case 后的 exprN,通常表示变量值。冒号后则为符合该条件要执行的部分。注意要用 break 跳离循环。 Wkk(6gS,  
|*zgX]-+;  
<?php HX| p4-L  
switch ( date ( "D" )) { 7oIHp_Zq  
case "Mon" : "u~` ZV(  
echo "今天星期一" ; k^K76mB  
break; -b?M5P*:  
case "Tue" : ]-#/wC[$l=  
echo "今天星期二" ; _,K[kVn  
break; mGDc,C=5:  
case "Wed" : Nes|4Z<  
echo "今天星期三" ; 4pXY7+e2'  
break; RZpjr !R  
case "Thu" : R{A$|Ipaq  
echo "今天星期四" ; JleClB(2n/  
break; k3B_M9>!  
case "Fri" : ; t9_*)[  
echo "今天星期五" ; 4NaT@68p  
break; oaq,4FT  
default: &I'J4gk[  
echo "今天放假" ; K9&Q@3V  
break; FPK=Tr:b  
} VK*H1EH1  
?> .tfal9  
Vtj*O'0  
这里需要注意的是break;别遗漏了,default,省略是可以的。 A~>B?Wijqg  
ak:f4dEd  
很明显的,上述的例子用 if 循环就很麻烦了。当然在设计时,要将出现机率最大的条件放在最前面,最少出现的条件放在最后面,可以增加程序的执行效率。上例由于每天出现的机率相同,所以不用注意条件的顺序。 b9?Vpu`?  
5GJkvZtFY  
今天就说到这里,明天开始说数据库的使用。
描述
快速回复

您目前还是游客,请 登录注册
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
认证码:
验证问题:
3+5=?,请输入中文答案:八 正确答案:八