电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

PHP對文本數(shù)據(jù)庫的基本操作方法

瀏覽:68日期:2024-02-10 15:00:47

PHP實現(xiàn)對文本數(shù)據(jù)庫的數(shù)據(jù)顯示、加入、修改、刪除、查詢五大基本操作的方法 我用一個留言本程序作為例子,闡述PHP實現(xiàn)對文本數(shù)據(jù)庫的數(shù)據(jù)顯示、加入、修改、刪除、查詢五大基本操作的方法。 此文本數(shù)據(jù)庫共有字段10個:客戶IP、發(fā)言時間、客戶名、客戶EMAIL、客戶主頁地址、留言表情圖片名、客戶QQ、客戶形象圖片、留言內(nèi)容、管理員回復(fù)內(nèi)容。

1、加入數(shù)據(jù)程序段。

$date=date('Y-m-d H:i:s');//取得系統(tǒng)時間 $ip = $HTTP_SERVER_VARS[REMOTE_ADDR]; //取得發(fā)言的IP地址 $text=encode($gb_text);//去掉留言內(nèi)容后面的空格. $fp=fopen('gb.dat','a');//以只寫模式打開gb.dat文本文件,文件指針指向文件尾部. $str=$ip.' '.$date.' '.$gb_name.' '.$gb_email.' '.$gb_home.' '.$face.' '.$gb_qq.' '.$head.' '.$text.' '.$reply.'n';//將所有留言的數(shù)據(jù)賦予變量$str,' '的目的是用來今后作數(shù)據(jù)分割時的數(shù)據(jù)間隔符號。 fwrite($fp,$str);//將數(shù)據(jù)寫入文件 fclose($fp);//關(guān)閉文件 showmessage('留言成功!','index.php','3');//留言成功,3秒后自動返回主界面。 其中的$gb_name 、$gb_email、$gb_home、$face、$gb_qq、$head、$gb_text、$reply是由發(fā)言表單傳過來的數(shù)據(jù)。

2、數(shù)據(jù)顯示程序段

<? if (file_exists('gb.dat')){//檢測文件是否存在 $array=file('gb.dat');//將文件全部內(nèi)容讀入到數(shù)組$array $arr=array_reverse($array);//將$array里的數(shù)據(jù)安行翻轉(zhuǎn)排列(即最后一行當(dāng)?shù)谝恍校来祟愅疲┳x入數(shù)組$arr的每一個單元($arr[0]...)。 $num=count($array);//獲取數(shù)組$array里的信息數(shù)(一行為一條信息) if ($num>0){//如果信息數(shù)大于零(即文本數(shù)據(jù)庫不為空) $total=ceil($num/$pagesize);//計算總頁數(shù)(取最大整數(shù),即凡有小數(shù)點都進一取整,$pagesize為預(yù)設(shè)的每頁顯示的信息數(shù)) if($page<1){//如果當(dāng)前頁面數(shù)碼號小于1 $page=1;//則賦值為1 } $number=($page-1)*$pagesize;//計算當(dāng)前所顯示第一個留言的數(shù)碼號(數(shù)碼號從零開始,主要是達到與數(shù)組單元號對應(yīng)的目的) for($i=0;$i<=$pagesize-1;$i++){//進入循環(huán) $row=explode(' ',$arr[$number]);//以' '作為分割符,分割數(shù)組$arr中每第$number個單元的數(shù)據(jù),并將這些數(shù)據(jù)賦予數(shù)組$rom list($ip,$datetime,$name,$email,$home,$face,$qq,$head,$text,$reply)=$row;//將數(shù)組$row里的單元數(shù)據(jù)按順序賦予括號里的變量 ?> <img src=<? echo $head ?> >//顯示客戶形象圖片 <br> <font color='#0099CC'>昵稱【<? echo $name ?><font size='2'>】<br>//顯示客戶名 發(fā)表于:<? echo $datetime ?>//顯示留言發(fā)表時間 <br> <img src=<? echo $face ?>>//顯示客戶留言表情圖片 <? echo $name ?>說:<? echo $text; ?>//顯示客戶留言內(nèi)容 <br> <? echo $reply ?>//顯示回復(fù)內(nèi)容 <br> <a href='http://www.hdgsjgj.cn/bcjs/<? echo $home ?>' target='_blank'>訪問<? echo $name ?>的主頁</a>//客戶主頁的超連接 <a href='mailto:<? echo $email ?>'>給<? echo $name ?>發(fā)信</a>//客戶E-MAIL的連接 <? echo $name ?>的QQ號碼是<? echo $qq ?>//顯示客戶的QQ號碼 <? echo $name ?>的IP地址為<? echo $ip ?>' //顯示客戶的IP地址 <a href='http://www.hdgsjgj.cn/bcjs/reply.php?time=<? echo $datetime ?>'>回復(fù)</a>//留言回復(fù)的連接語句 <a href='http://www.hdgsjgj.cn/bcjs/del.php?time=<? echo $datetime ?>'>刪除</a>//留言刪除的語句(以客戶留言時間$datetime作為刪除標識) <br> <? if ($number == $num-1)//如果數(shù)組的單元號等于總留言數(shù)減一(因為單元號以零開始的,所以這意味著這是最后一條留言) { break;//跳出循環(huán) } $number = $number + 1; //數(shù)組單元號加1 }//循環(huán)結(jié)束符 } if ($page <> 1)//如果當(dāng)前頁面數(shù)碼號不等于1 { $back = $page - 1;//當(dāng)前頁面數(shù)碼號減1,并將此值賦予變量$back echo '<a href=index.php?page=1>第一頁</a>';//顯示第一頁的連接 echo ' <a href=index.php?page=$back>上一頁</a>' ;當(dāng)前頁面數(shù)碼號等于$back,并顯示其連接 } if ($page <> $total)//如果當(dāng)前頁面數(shù)碼號不等于總頁數(shù)號(最后一頁數(shù)碼號) { $next = $page + 1;//當(dāng)前頁面數(shù)碼號加1并賦予變量$next echo ' <a href=index.php?page=$next>下一頁</a>' ;//顯示下一頁連接 echo ' <a href=index.php?page=$total>最后一頁</a>'; 顯示最后一頁連接 } echo '頁數(shù):$page / $total';//顯示當(dāng)前頁面數(shù)碼號和顯示最后一頁數(shù)碼號 echo '共有 $num 條留言';//顯示留言數(shù)信息 } else { echo '<center>當(dāng)前沒有任何留言!</center>';//如果文件內(nèi)容為空則顯示的信息 } else { echo '<center>數(shù)據(jù)文件丟失,請聯(lián)系管理員!或發(fā)布留言重新建立數(shù)據(jù)文件!</center>';//如果文件不存在顯示的信息 }

3、數(shù)據(jù)修改程序段

$list=file('gb.dat');//讀取整個gb.dat文件到數(shù)組$list,數(shù)組每一個元素為一條留言($list[0]是第一條留言的數(shù)據(jù)、$list[1]是第一條留言的數(shù)據(jù)..... $n=count($list);//計算$list內(nèi)容里的留言總數(shù),并賦予變量$n if ($n>0){ //如果留言數(shù)大于0$fp=fopen('gb.dat','w');//則以只寫模式打開文件gb.dat $gb_reply=encode($gb_reply); for ($i=0;$i<$n;$i++) {//進入循環(huán) if(eregi($ttime,$list[$i])){//將送來發(fā)留言時間$ttime與數(shù)組單元$list里內(nèi)容進行字串匹配比較 $f=explode(' ',$list[$i]);//如果找到匹配,就以' '作為分隔符,切開留言信息$list[$i](第$i條留言),并將這些數(shù)據(jù)賦予數(shù)組$f $f[9]=$gb_reply;//將$f[9](留言信息最后一條數(shù)據(jù))用$gb_reply(回復(fù)內(nèi)容)代替。 $list[$i]=$f[0].' '.$f[1].' '.$f[2].' '.$f[3].' '.$f[4].' '.$f[5].' '.$f[6].' '.$f[7].' '.$f[8].' '.$f[9].'n'; //將數(shù)組單元$list[$i]的內(nèi)容用數(shù)組$f加上分隔符' '代替(其中$f[9]是修改了的新數(shù)據(jù))。 break;//跳出循環(huán) } }//循環(huán)結(jié)束符 } FOR($i=0;$i<=$n;$i++){//進入循環(huán) fwrite($fp,$list[$i]);//將數(shù)組$list的每個單元為一行,寫入文件gb.dat }//循環(huán)結(jié)束符 fclose($fp);//關(guān)閉文件 showmessage('回復(fù)成功!','index.php');//回復(fù)成功,自動返回主界面。

4、數(shù)據(jù)刪除程序段

$list=file('gb.dat');//讀取整個gb.dat文件到數(shù)組$list,數(shù)組每一個元素為一條留言($list[0]是第一條留言的數(shù)據(jù)、$list[1]是第一條留言的數(shù)據(jù)..... $n=count($list);//計算$list內(nèi)容里的留言總數(shù),并賦予變量$n if ($n>0){//如果留言數(shù)大于0 $fp=fopen('gb.dat','w');//則以只寫模式打開文件gb.dat for ($i=0;$i<$n;$i++) {//進入循環(huán) if(eregi($ttime,$list[$i])){//將發(fā)送過來發(fā)留言時間$ttime與數(shù)組$list[$i]里的字串進行匹配比較 $list[$i]='';//如果匹配成功,則將$list[$i]清空(達到刪除的目的) break;//跳出循環(huán) } }//循環(huán)結(jié)束符 FOR($i=0;$i<=$n;$i++){//進入循環(huán) fwrite($fp,$list[$i]);//將數(shù)組$list的每個單元為一行,寫入文件gb.dat } //循環(huán)結(jié)束符 fclose($fp);//關(guān)閉文件 showmessage('刪除成功!','index.php');//刪除成功,自動返回主界面。 }

5、數(shù)據(jù)查詢程序段

<form action='search.php' method='post'> <font color='#0099CC' size='2'>搜索關(guān)鍵字: <input name='found' type='text' size='12'> <input name='submit' type='image' src='http://www.hdgsjgj.cn/bcjs/image/search.gif' alt='留言搜索'> </font></td></tr> </table> </form> ////////////////////////////////上面是搜索表單語句段 <? $id=0; $list=file('gb.dat');//讀取整個gb.dat文件到數(shù)組$list,數(shù)組每一個元素為一條留言($list[0]是第一條留言的數(shù)據(jù)、$list[1]是第一條留言的數(shù)據(jù)..... $n=count($list);//計算$list內(nèi)容里的留言總數(shù),并賦予變量$n $found=trim($found); if (!$found){ //如果$found為假 echo '<center>您沒有輸入任何關(guān)鍵字!</center>';//作相關(guān)顯示 } else { if($n>0){//如果留言數(shù)大于0 for ($i=0;$i<$n;$i++) {//進入循環(huán) if(eregi($found,$list[$i])){//輸入的關(guān)鍵字與數(shù)組$list[$i]里的字串進行匹配比較 $row=explode(' ',$list[$i]); $id=1; //如果找到匹配,就以' '作為分隔符,切開留言信息$list[$i](第$i條留言),并將這些數(shù)據(jù)賦予數(shù)組$row.并將變量$id賦予1,以便作為是否找到匹配的判斷。 list($ip,$datetime,$name,$email,$home,$face,$qq,$head,$text,$reply)=$row;//將數(shù)組$row里的單元數(shù)據(jù)按順序賦予括號里的變量 ?> <img src=<? echo $head ?> >//顯示客戶形象圖片 <br> <font color='#0099CC'>昵稱【<? echo $name ?><font size='2'>】<br>//顯示客戶名 發(fā)表于:<? echo $datetime ?>//顯示留言發(fā)表時間 <br> <img src=<? echo $face ?>>//顯示客戶留言表情圖片 <? echo $name ?>說:<? echo $text; ?>//顯示客戶留言內(nèi)容 <br> <? echo $reply ?>//顯示回復(fù)內(nèi)容 <br> <a href='http://www.hdgsjgj.cn/bcjs/<? echo $home ?>' target='_blank'>訪問<? echo $name ?>的主頁</a>//客戶主頁的超連接 <a href='mailto:<? echo $email ?>'>給<? echo $name ?>發(fā)信</a>//客戶E-MAIL的連接 <? echo $name ?>的QQ號碼是<? echo $qq ?>//顯示客戶的QQ號碼 <? echo $name ?>的IP地址為<? echo $ip ?>' //顯示客戶的IP地址 <a href='http://www.hdgsjgj.cn/bcjs/reply.php?time=<? echo $datetime ?>'>回復(fù)</a>//留言回復(fù)的連接語句 <a href='http://www.hdgsjgj.cn/bcjs/del.php?time=<? echo $datetime ?>'>刪除</a>//留言刪除的語句(以客戶留言時間$datetime作為刪除標識) <br> <? } }//循環(huán)結(jié)束符 }} if($id==0){ echo '<center>沒有找到與關(guān)鍵字匹配的留言!</center>';}//如果$id=0則表示沒找到匹配,顯示相關(guān)提示 ?>

標簽: PHP
主站蜘蛛池模板: 北京网站建设公司_北京网站制作公司_北京网站设计公司-北京爱品特网站建站公司 | 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | 代做标书-代写标书-专业标书文件编辑-「深圳卓越创兴公司」 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 光谱仪_积分球_分布光度计_灯具检测生产厂家_杭州松朗光电【官网】 | 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 北京宣传片拍摄_产品宣传片拍摄_宣传片制作公司-现像传媒 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 武汉高温老化房,恒温恒湿试验箱,冷热冲击试验箱-武汉安德信检测设备有限公司 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 防锈油-助焊剂-光学玻璃清洗剂-贝塔防锈油生产厂家 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 千淘酒店差旅平台-中国第一家针对TMC行业的酒店资源供应平台 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 旋振筛_不锈钢旋振筛_气旋筛_旋振筛厂家—新乡市大汉振动机械有限公司 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | 六维力传感器_三维力传感器_二维力传感器-南京神源生智能科技有限公司 | 合肥注册公司|合肥代办营业执照、2024注册公司流程 | 液氮罐_液氮容器_自增压液氮罐_杜瓦瓶_班德液氮罐厂家 | 上海盐水喷雾试验机_两厢式冷热冲击试验箱-巨怡环试 | 广州番禺搬家公司_天河黄埔搬家公司_企业工厂搬迁_日式搬家_广州搬家公司_厚道搬迁搬家公司 | 安平县鑫川金属丝网制品有限公司,声屏障,高速声屏障,百叶孔声屏障,大弧形声屏障,凹凸穿孔声屏障,铁路声屏障,顶部弧形声屏障,玻璃钢吸音板 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) | 衬氟旋塞阀-卡套旋塞阀-中升阀门首页 | 上海网站建设-上海网站制作-上海网站设计-上海做网站公司-咏熠软件 | 专业的压球机生产线及解决方案厂家-河南腾达机械厂 | ?水马注水围挡_塑料注水围挡_防撞桶-常州瑞轩水马注水围挡有限公司 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 德州万泰装饰 - 万泰装饰装修设计软装家居馆 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 天然气分析仪-液化气二甲醚分析仪|传昊仪器 | 蓝牙音频分析仪-多功能-四通道-八通道音频分析仪-东莞市奥普新音频技术有限公司 | 希望影视-高清影视vip热播电影电视剧免费在线抢先看 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 骨龄仪_骨龄检测仪_儿童骨龄测试仪_品牌生产厂家【品源医疗】 | 低粘度纤维素|混凝土灌浆料|有机硅憎水粉|聚羧酸减水剂-南京斯泰宝 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 斗式提升机_链式斗提机_带式斗提机厂家无锡市鸿诚输送机械有限公司 |