设为首页收藏本站language 语言切换
查看: 1327|回复: 0
收起左侧

心得:PHP对文本数据库的五大基本操作方法

[复制链接]
发表于 2010-2-24 13:37:20 | 显示全部楼层 |阅读模式
<p><p> PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法 </p><p>  我用一个留言本程序作为例子,阐述PHP实现对文本数据库的数据显示、加入、修改、删除、查询五大基本操作的方法。 </p><p>  此文本数据库共有字段10个:客户IP、发言时间、客户名、客户EMAIL、客户主页地址、留言表情图片名、客户QQ、客户形象图片、留言内容、管理员回复内容。<br /> <br />1、加入数据程序段。 </p><p>&#36;date=date(&quot;Y-m-d H:i:s&quot;);//取得系统时间 <br />&#36;ip = &#36;HTTP_SERVER_VARS[REMOTE_ADDR]; //取得发言的IP地址 <br />&#36;text=encode(&#36;gb_text);//去掉留言内容后面的空格. <br />&#36;fp=fopen(&quot;gb.dat&quot;,&quot;a&quot;);//以只写模式打开gb.dat文本文件,文件指针指向文件尾部. <br />&#36;str=&#36;ip.&quot;|&quot;.&#36;date.&quot;|&quot;.&#36;gb_name.&quot;|&quot;.&#36;gb_email.&quot;|&quot;.&#36;gb_home.&quot;|&quot;.&#36;face.&quot;|&quot;.&#36;gb_qq.&quot;|&quot;.&#36;head.&quot;|&quot;.&#36;text.&quot;|&quot;.&#36;reply.&quot;\n&quot;;//将所有留言的数据赋予变量&#36;str,&quot;|&quot;的目的是用来今后作数据分割时的数据间隔符号。 <br />fwrite(&#36;fp,&#36;str);//将数据写入文件 <br />fclose(&#36;fp);//关闭文件 <br />showmessage(&quot;留言成功!&quot;,&quot;index.php&quot;,&quot;3&quot;);//留言成功,3秒后自动返回主界面。 <br />其中的&#36;gb_name 、&#36;gb_email、&#36;gb_home、&#36;face、&#36;gb_qq、&#36;head、&#36;gb_text、&#36;reply是由发言表单传过来的数据。 </p><p>2、数据显示程序段 </p><p>&lt;? <br />if (file_exists(&quot;gb.dat&quot;))&#123;//检测文件是否存在 <br />&#36;array=file(&quot;gb.dat&quot;);//将文件全部内容读入到数组&#36;array <br />&#36;arr=array_reverse(&#36;array);//将&#36;array里的数据安行翻转排列(即最后一行当第一行,依此类推)读入数组&#36;arr的每一个单元(&#36;arr[0]...)。 <br />&#36;num=count(&#36;array);//获取数组&#36;array里的信息数(一行为一条信息) <br />if (&#36;num&gt;0)&#123;//如果信息数大于零(即文本数据库不为空) <br />&#36;total=ceil(&#36;num/&#36;pagesize);//计算总页数(取最大整数,即凡有小数点都进一取整,&#36;pagesize为预设的每页显示的信息数) <br />if(&#36;page&lt;1)&#123;//如果当前页面数码号小于1 <br />&#36;page=1;//则赋值为1 <br />&#125; <br />&#36;number=(&#36;page-1)*&#36;pagesize;//计算当前所显示第一个留言的数码号(数码号从零开始,主要是达到与数组单元号对应的目的) <br />for(&#36;i=0;&#36;i&lt;=&#36;pagesize-1;&#36;i++)&#123;//进入循环 <br />&#36;row=explode(&quot;|&quot;,&#36;arr[&#36;number]);//以&quot;|&quot;作为分割符,分割数组&#36;arr中每第&#36;number个单元的数据,并将这些数据赋予数组&#36;rom <br />list(&#36;ip,&#36;datetime,&#36;name,&#36;email,&#36;home,&#36;face,&#36;qq,&#36;head,&#36;text,&#36;reply)=&#36;row;//将数组&#36;row里的单元数据按顺序赋予括号里的变量 <br />?&gt; <br />&lt;img src=&lt;? echo &#36;head ?&gt; &gt;//显示客户形象图片 <br />&lt;br&gt; <br />&lt;font color=&quot;#0099CC&quot;&gt;昵称【&lt;? echo &#36;name ?&gt;&lt;font size=&quot;2&quot;&gt;】&lt;br&gt;//显示客户名 <br />发表于:&lt;? echo &#36;datetime ?&gt;//显示留言发表时间 <br />&lt;br&gt; <br />&lt;img src=&lt;? echo &#36;face ?&gt;&gt;//显示客户留言表情图片 <br />&lt;? echo &#36;name ?&gt;说:&lt;? echo &#36;text; ?&gt;//显示客户留言内容 <br />&lt;br&gt; <br />&lt;? echo &#36;reply ?&gt;//显示回复内容 <br />&lt;br&gt; <br />&lt;a href=&quot;&lt;? echo &#36;home ?&gt;&quot; target=&quot;_blank&quot;&gt;访问&lt;? echo &#36;name ?&gt;的主页&lt;/a&gt;//客户主页的超连接 <br />&lt;a href=&quot;mailto:&lt;? echo &#36;email ?&gt;&quot;&gt;给&lt;? echo &#36;name ?&gt;发信&lt;/a&gt;//客户E-MAIL的连接 <br />&lt;? echo &#36;name ?&gt;的QQ号码是&lt;? echo &#36;qq ?&gt;//显示客户的QQ号码 <br />&lt;? echo &#36;name ?&gt;的IP地址为&lt;? echo &#36;ip ?&gt;&quot; //显示客户的IP地址 <br />&lt;a href=&quot;reply.php?time=&lt;? echo &#36;datetime ?&gt;&quot;&gt;回复&lt;/a&gt;//留言回复的连接语句 <br />&lt;a href=&quot;del.php?time=&lt;? echo &#36;datetime ?&gt;&quot;&gt;删除&lt;/a&gt;//留言删除的语句(以客户留言时间&#36;datetime作为删除标识) <br />&lt;br&gt; <br />&lt;? <br />if (&#36;number == &#36;num-1)//如果数组的单元号等于总留言数减一(因为单元号以零开始的,所以这意味着这是最后一条留言) <br />&#123; <br />break;//跳出循环 <br />&#125; <br />&#36;number = &#36;number + 1; //数组单元号加1 <br />&#125;//循环结束符 <br />&#125; <br />if (&#36;page &lt;&gt; 1)//如果当前页面数码号不等于1 <br />&#123; <br />&#36;back = &#36;page - 1;//当前页面数码号减1,并将此值赋予变量&#36;back <br />echo &quot;&lt;a href=index.php?page=1&gt;第一页&lt;/a&gt;&quot;;//显示第一页的连接 <br />echo &quot; &lt;a href=index.php?page=&#36;back&gt;上一页&lt;/a&gt;&quot; ;当前页面数码号等于&#36;back,并显示其连接 <br />&#125; <br />if (&#36;page &lt;&gt; &#36;total)//如果当前页面数码号不等于总页数号(最后一页数码号) <br />&#123; <br />&#36;next = &#36;page + 1;//当前页面数码号加1并赋予变量&#36;next <br />echo &quot; &lt;a href=index.php?page=&#36;next&gt;下一页&lt;/a&gt;&quot; ;//显示下一页连接 <br />echo &quot; &lt;a href=index.php?page=&#36;total&gt;最后一页&lt;/a&gt;&quot;; 显示最后一页连接 <br />&#125; <br />echo &quot;页数:&#36;page / &#36;total&quot;;//显示当前页面数码号和显示最后一页数码号 <br />echo &quot;共有 &#36;num 条留言&quot;;//显示留言数信息 <br />&#125; <br />else &#123; <br />echo &quot;&lt;center&gt;当前没有任何留言!&lt;/center&gt;&quot;;//如果文件内容为空则显示的信息 <br />&#125; <br />else &#123; <br />echo &quot;&lt;center&gt;数据文件丢失,请联系管理员!或发布留言重新建立数据文件!&lt;/center&gt;&quot;;//如果文件不存在显示的信息 <br />&#125; </p><p></p>
您需要登录后才可以回帖 登录 | 论坛注册

本版积分规则

QQ|Archiver|手机版|小黑屋|sitemap|鸿鹄论坛 ( 京ICP备14027439号 )  

GMT+8, 2025-4-6 07:17 , Processed in 0.350678 second(s), 24 queries , Redis On.  

  Powered by Discuz!

  © 2001-2025 HH010.COM

快速回复 返回顶部 返回列表