六、完整的程序
在本课结束前,我们要把所有东西加入到一个程序中,使它具有增加、编辑修改、删除记录的功能。这是前面所有内容的一个延伸,也可以作为极好的复习方法。看看下面的程序。
$#@60;html$#@62; $#@60;body$#@62; $#@60;?php $db = mysql_connect("localhost", "root"); mysql_select_db("mydb",$db); if ($submit) { // 如果没有ID,则我们是在增加记录,否则我们是在修改记录 if ($id) { $sql = "UPDATE employees SET first=$first,last=$last, address=$address,position=$position WHERE id=$id"; } else { $sql = "INSERT INTO employees (first,last,address,position) VALUES ($first,$last,$address,$position)"; } // 向数据库发出SQL命令 $result = mysql_query($sql); echo "记录修改成功!$#@60;p$#@62;"; } elseif ($delete) { // 删除一条记录 $sql = "DELETE FROM employees WHERE id=$id"; $result = mysql_query($sql); echo "记录删除成功!$#@60;p$#@62;"; } else { // 如果我们还没有按submit按钮,那么执行下面这部分程序 if (!$id) { // 如果不是修改状态,则显示员工列表 $result = mysql_query("SELECT * FROM employees",$db); while ($myrow = mysql_fetch_array($result)) { printf("$#@60;a f="%s?id=%s"$#@62;%s %s$#@60;/a$#@62; ", $PATH_INFO, $myrow["id"], $myrow["first"], $myrow["last"]); printf("$#@60;a href="%s?id=%s&delete=yes"$#@62;(DELETE)$#@60;/a$#@62;$#@60; br$#@62;", $PATH_INFO, $myrow["id"]); } } ?$#@62; $#@60;P$#@62; $#@60;a href="$#@60;?php echo $PATH_INFO?$#@62;"$#@62;ADD A RECORD$#@60;/a$#@62; $#@60;P$#@62; $#@60;form method="post" action="$#@60;?php echo $PATH_INFO?$#@62;"$#@62; $#@60;?php if ($id) { // 我们是在编辑修改状态,因些选择一条记录 $sql = "SELECT * FROM employees WHERE id=$id"; $result = mysql_query($sql); $myrow = mysql_fetch_array($result); $id = $myrow["id"]; $first = $myrow["first"]; $last = $myrow["last"]; $address = $myrow["address"]; $position = $myrow["position"]; // 显示id,供用户编辑修改 ?$#@62; $#@60;input type=hidden name="id" value="$#@60;?php echo $id ?$#@62;"$#@62; $#@60;?php } ?$#@62; 名:$#@60;input type="Text" name="first" value="$#@60;?php echo $first ?$#@62;"$#@62;$#@60;br$#@62; 姓:$#@60;input type="Text" name="last" value="$#@60;?php echo $last ?$#@62;"$#@62;$#@60;br$#@62; 住址:$#@60;input type="Text" name="address" value="$#@60;?php echo $address ?$#@62;"$#@62;$#@60;br$#@62; 职位:$#@60;input type="Text" name="position" value="$#@60;?php echo $position ?$#@62;"$#@62;$#@60;br$#@62; $#@60;input type="Submit" name="submit" value="输入信息"$#@62; $#@60;/form$#@62; $#@60;?php } ?$#@62; $#@60;/body$#@62; $#@60;`/html$#@62; |
这段程序看起来很复杂,但实际上并不难。程序主要有三个部分。第一个if()语句检查我们是否已经按下了那个“输入信息”的数据提交按钮。如果是,程序再检查$id是否存在。如果不存在,那我们就是在增加记录状态,否则,我们是在修改记录状态。
接下来我们检查变量$delete是否存在。如果存在,我们是要删除记录。注意,第一个if()语句检查的是用POST方法发送来的变量,而这一次我们检查的是GET方法中传递过来的变量。
最后,程序默认的动作是显示员工列表和表格。同样,我们要检查变量$id是否存在。如果存在,我们就根据它的值检索出相应的记录显示出来。否则,我们会显示一个空的表格。
现在,我们已经把所学的东西全部都放在一个程序里头了。我们用到了while()循环,用到了if()语句,并且执行了全部的SQL基本操作 - SELECT、INSERT、UPDATE以及DELETE。另外,我们也知道如何在不同的网页之间通过URL和表格输入来互相传递信息。
在第三课里,我们要学习如何为网页增加智能化处理能力。

php把负数转为正整数的方法:1、使用abs()函数将负数转为正数,使用intval()函数对正数取整,转为正整数,语法“intval(abs($number))”;2、利用“~”位运算符将负数取反加一,语法“~$number + 1”。

实现方法:1、使用“sleep(延迟秒数)”语句,可延迟执行函数若干秒;2、使用“time_nanosleep(延迟秒数,延迟纳秒数)”语句,可延迟执行函数若干秒和纳秒;3、使用“time_sleep_until(time()+7)”语句。

php除以100保留两位小数的方法:1、利用“/”运算符进行除法运算,语法“数值 / 100”;2、使用“number_format(除法结果, 2)”或“sprintf("%.2f",除法结果)”语句进行四舍五入的处理值,并保留两位小数。

判断方法:1、使用“strtotime("年-月-日")”语句将给定的年月日转换为时间戳格式;2、用“date("z",时间戳)+1”语句计算指定时间戳是一年的第几天。date()返回的天数是从0开始计算的,因此真实天数需要在此基础上加1。

php判断有没有小数点的方法:1、使用“strpos(数字字符串,'.')”语法,如果返回小数点在字符串中第一次出现的位置,则有小数点;2、使用“strrpos(数字字符串,'.')”语句,如果返回小数点在字符串中最后一次出现的位置,则有。

方法:1、用“str_replace(" ","其他字符",$str)”语句,可将nbsp符替换为其他字符;2、用“preg_replace("/(\s|\ \;||\xc2\xa0)/","其他字符",$str)”语句。

在PHP中,可以利用implode()函数的第一个参数来设置没有分隔符,该函数的第一个参数用于规定数组元素之间放置的内容,默认是空字符串,也可将第一个参数设置为空,语法为“implode(数组)”或者“implode("",数组)”。

php字符串有下标。在PHP中,下标不仅可以应用于数组和对象,还可应用于字符串,利用字符串的下标和中括号“[]”可以访问指定索引位置的字符,并对该字符进行读写,语法“字符串名[下标值]”;字符串的下标值(索引值)只能是整数类型,起始值为0。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver CS6
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器