当前位置:首页 > PHP教程 > php应用 > 列表

数据库添加、修改、删除基础操作代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-11 22:29:28 浏览: 评论:0 

这是一款比较适合php初学者学的教程,我们利用一个简单的实例来对数据库添加、修改、删除,这样更系统的让各位知道php mysql数据库操作的要点.

主程序实例代码如下:

  1. <?php 
  2.  
  3.   require_once('common.php'); 
  4.   $action = $_get['action']; 
  5. ?> 
  6. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"
  7. <html xmlns="http://www.phpfensi.com/1999/xhtml"
  8. <head> 
  9. <meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
  10. <title>人才列表</title> 
  11. <link href="style.css" type="text/css" rel="stylesheet" /> 
  12. </head> 
  13. <body>   
  14.  <div id="wrap">  
  15.  <div id="main"
  16.  <?php 
  17.       if($action=='add'){ 
  18.  ?> 
  19.     <form action="?action=save" method="post" name="form1"
  20.   <table width="300" border="0" cellspacing="0" cellpadding="0"  class="post"
  21.           <tr> 
  22.             <td colspan="2">添加人员</td></tr> 
  23.           <tr><td width="78">登陆账号</td> 
  24.             <td width="220"><input name="login" type="text" id="login" /></td> 
  25.           </tr> 
  26.           <tr> 
  27.             <td>登陆密码</td> 
  28.             <td><input name="pws" type="text" id="pws" /></td> 
  29.           </tr> 
  30.           <tr> 
  31.             <td>问题</td> 
  32.             <td><input name="question" type="text" id="question" /></td> 
  33.           </tr> 
  34.            <tr> 
  35.             <td>答案</td> 
  36.             <td><input name="answer" type="text" id="answer" /></td> 
  37.           </tr> 
  38.             <tr> 
  39.               <td colspan="2"><input name="button" type="submit" id="button" value=" 添加 " /></td> 
  40.             </tr> 
  41.                
  42.       </table> 
  43.     </form> 
  44.  <?php    
  45.       } 
  46.       elseif($action=='save'){ 
  47.     $login = isset($_post['login']) ? $_post['login'] : ''
  48.     $pws = isset($_post['pws']) ? $_post['pws'] : ''
  49.     $question = isset($_post['question']) ? $_post['question'] : ''
  50.     $answer = isset($_post['answer']) ? $_post['answer'] : ''
  51.     $sql = "insert into person (login,pws,question,answer)  
  52.     values('$login','$pws','$question','$answer')"; 
  53.     $db->query($sql); 
  54.     forward('发布成功','href','personlist.php'); 
  55.           } 
  56.     elseif($action=='del'){ 
  57.     $person_id=$_get['person_id']; 
  58.     $page=$_get['page']; 
  59.     $sql="delete from person where person_id='$person_id'"
  60.     $db->query($sql); 
  61.     forward('删除成功','href','personlist.php?page='.$page); 
  62.           }  
  63.     elseif($action=='editsave'){ 
  64.     $person_id = isset($_post['person_id']) ? $_post['person_id'] : ''
  65.     $page = isset($_post['page']) ? $_post['page'] : ''
  66.           $login = isset($_post['login']) ? $_post['login'] : ''
  67.     $pws = isset($_post['pws']) ? $_post['pws'] : ''
  68.     $question = isset($_post['question']) ? $_post['question'] : ''
  69.     $answer = isset($_post['answer']) ? $_post['answer'] : ''
  70.     $sql="update person set login='$login',pws='$pws',question='$question',answer='$answer' where person_id='$person_id'"
  71.     $db->query($sql); 
  72.           forward('修改成功','href','personlist.php?page='.$page); 
  73.           } 
  74.    elseif($action=='edit'){ 
  75.     $person_id=$_get['person_id']; 
  76.     $page=$_get['page']; 
  77.     $sql="select * from person where person_id='$person_id'"
  78.     $query = $db->query($sql); 
  79.     $row = $db->fetch_array($query);  
  80.     $login=$row['login']; 
  81.     $pws=$row['pws']; 
  82.     $question=$row['question']; 
  83.     $answer=$row['answer']; 
  84.        ?> 
  85.     <form action="?action=editsave" method="post" name="form1"
  86.   <table width="300" border="0" cellspacing="0" cellpadding="0"  class="post"
  87.           <tr> 
  88.           <input name="page" type="hidden"  value="<?php echo $page?>"/> 
  89.           <input name="person_id" type="hidden"  value="<?php echo $person_id?>"/> 
  90.             <td colspan="2">修改人员</td></tr> 
  91.           <tr><td width="78">登陆账号</td> 
  92.             <td width="220"><input name="login" type="text" id="login"  value="<?php echo $login?>"/></td> 
  93.           </tr> 
  94.           <tr> 
  95.             <td>登陆密码</td> 
  96.             <td><input name="pws" type="text" id="pws" value="<?php echo $pws?>"/></td> 
  97.           </tr> 
  98.           <tr> 
  99.             <td>问题</td> 
  100.             <td><input name="question" type="text" id="question" value="<?php echo $question?>"/></td> 
  101.           </tr> 
  102.            <tr> 
  103.             <td>答案</td> 
  104.             <td><input name="answer" type="text" id="answer" value="<?php echo $answer?>"/></td> 
  105.           </tr> 
  106.             <tr> 
  107.               <td colspan="2"><input name="button" type="submit" id="button" value=" 修改 " /></td> 
  108.             </tr> 
  109.                
  110.       </table> 
  111.     </form> 
  112.  <?php  
  113.           } 
  114.       else
  115.           $page = isset($_get['page']) ?intval($_get['page']) : 1; 
  116.           $num = 5; 
  117.           $sql="select * from person"
  118.           $query = $db->query($sql); 
  119.           $totalnum = $db->num_rows($query);//记录总数 
  120.           $pagenum = ceil($totalnum/$num); //总页数 
  121.           $offset = ($page-1) * $num
  122.           $sql=$sql." limit $offset,$num "
  123.           $query = $db->query($sql);//取得记录 
  124.         ?> 
  125.           <table width="639" border="0" cellspacing="0" cellpadding="0"  class="post"
  126.           <tr> 
  127.             <td colspan="6">记录总数:<?php echo $totalnum;?>————<a href="personlist.php?action=add">添加人员</a></td></tr> 
  128.           <tr><td width="126">登陆账号</td> 
  129.           <td width="98">登陆密码</td> 
  130.           <td width="115">问题</td> 
  131.           <td width="66">答案</td> 
  132.           <td width="138">加入时间</td> 
  133.           <td width="94">操作</td> 
  134.           </tr> 
  135.   <?php 
  136.         while ($row = $db->fetch_array($query)) { 
  137.         ?> 
  138.           <tr> 
  139.           <td><?php echo $row['login'];?></td> 
  140.             <td><?php echo $row['pws'];?></td> 
  141.             <td><?php echo $row['question'];?></td> 
  142.             <td><?php echo $row['answer'];?></td> 
  143.             <td><?php echo $row['addtime'];?></td> 
  144.             <td><a href="?action=del&person_id=<?php echo $row['person_id'] ?>&page=<?php echo $page ?>">删除</a>/ 
  145.             <a href="?action=edit&person_id=<?php echo $row['person_id'] ?>&page=<?php echo $page ?>">修改</a></td> 
  146.           </tr> 
  147.        <?php 
  148.           } 
  149.         ?> 
  150.     </table> 
  151.    </div> 
  152.        <div id="pages_btns"
  153.             <div class="pages"><?php showpage($page$num$pagenum$totalnum)?></div> 
  154.    </div> 
  155.    <?php 
  156.    } 
  157.    ?>  
  158. </div> 
  159. </body> 
  160. </html> 

config.php,代码如下:

  1. <?php 
  2. $host = 'localhost'
  3. $user = 'root'
  4. $pass = '123456'
  5. $db   = 'rc'
  6. ?> 

common.php,代码如下:

  1. <?php 
  2.   require_once('config.php'); 
  3.   require_once('mysql.php'); 
  4.   require_once('function.php'); 
  5.    
  6.   $db = new mysql($host$user$pass$db); 
  7. ?> 

function.php,代码如下:

  1. <?php 
  2. /** 
  3.  * 分页函数显示 
  4.  * date : 2008-12-6 
  5.  *  
  6.  * @param $page 当前页数 
  7.  * @param $num 每页显示数 
  8.  * @param $pagenum 分页总数 
  9.  * @param $totalnum 记录总数 
  10.  * 程序调用:showpage(当前页数,每页显示数,分页总数,记录总数); 
  11.  */ 
  12. function showpage($page$num$pagenum$totalnum) { 
  13.         $maxto = 5; //每次显示页数 
  14.         $nextpage = $page + 1; 
  15.         if ($nextpage > $pagenum$nextpage = $pagenum
  16.         $for_end = ($pagenum > ($page + $maxto)) ? ($page +$maxto) : $pagenum
  17.         $for_begin = (($page - $maxto)>1) ? ($page - $maxto) : 1; 
  18.         echo "<em>&nbsp;total: $totalnum&nbsp;</em>";    
  19.         for ($i = $for_begin$i <= $for_end$i++) { 
  20.          if ($i != $page){ 
  21.           echo "<a href="?page=$i">$i</a> "
  22.          } else { 
  23.           echo "<strong>$i</strong>"
  24.          } 
  25.         } 
  26.         echo "<a href="?page=$nextpage" class="next">&rsaquo;&rsaquo;</a><a href="?page=$pagenum" class="last">... $pagenum</a>"
  27.         echo "<kbd><input type="text" name="custompage" size=3 onkeydown="if(event.keycode==13) {window.location='list.php?page='+this.value; return false;}" /></kbd>"
  28. /*网页特效提示框*/ 
  29. function forward($msg$methd=''$url = ''){ 
  30.      $sstr = "<script language='网页特效' type='text/网页特效'> "
  31.      if($methd == 'href' && $url == ''die('forward funciton is wrong!'); 
  32.      $sstr .= "    alert('$msg!'); "
  33.      switch ($methd){ 
  34.         case "href"
  35.            $sstr .= " location.href='".$url."'; "
  36.            break
  37.         case "close"
  38.            $sstr .= " self.close(); "
  39.            break
  40.         default
  41.            $sstr .= " history.go(-1); "
  42.      } 
  43.      $sstr .= "</script>"
  44.      die($sstr); 
  45. ?> 

mysql.php数据库连接类,代码如下:

  1. <?php 
  2. /** 
  3.  * ################################################### 
  4.  * 
  5.  * 数据库操作类 
  6.  * ################################################### 
  7.  */ 
  8.  
  9. class mysql { 
  10.  var $user,$pass,$host,$db
  11.  var $id,$data,$fields,$row,$row_num,$insertid,$version,$query_num=0; 
  12.  function mysql($host,$user,$pass,$db
  13.  { 
  14.   $this->host = $host
  15.   $this->pass = $pass
  16.   $this->user = $user
  17.   $this->db = $db
  18.   $this->dbconnect($this->host, $this->user, $this->pass); 
  19.   $this->selectdb($this->db); 
  20.   if($this->version() >'4.1'
  21.   mysql_query("set names 'gbk'"); 
  22.  }//初始化对象 
  23.  function dbconnect($host,$user,$pass
  24.  { 
  25.   $this->id = @ mysql_connect($host,$user,$passor 
  26.   sysmsg("连接数据库失败,可能是mysql数据库用户名或密码错误"); 
  27.  } 
  28.  function selectdb($db
  29.  { 
  30.   @ mysql_select_db($db,$this->id) or sysmsg("未找到指定数据库"); 
  31.  } 
  32.  function query($sql
  33.  { 
  34.   $query = @ mysql_query($sql,$this->id) or sysmsg("sql语句执行错误:$sql <br />".$this->geterror()); 
  35.   $this->query_num(); 
  36.   return $query
  37.  } 
  38.  function fetch_array($query
  39.  { 
  40.   $this->data = @mysql_fetch_array($query); 
  41.   return $this->data; 
  42.  } 
  43.  function query_num() 
  44.  { 
  45.   $this->query_num++; 
  46.  } 
  47.  function num_fields($query
  48.  { 
  49.   $this->fields = @mysql_num_fields($query); 
  50.   return $this->fields; 
  51.  } 
  52.  function fetch_row($query
  53.  { 
  54.   $this->row = @mysql_fetch_row($query); 
  55.   return $this->row; 
  56.  } 
  57.  function num_rows($query
  58.  { 
  59.   $this->row_num = @mysql_num_rows($query); 
  60.   return $this->row_num; 
  61.  } 
  62.  function insert_id() 
  63.  { 
  64.   $this->insertid = mysql_insert_id(); 
  65.   return $this->insertid; 
  66.  } 
  67.  function version() 
  68.  { 
  69.   $this->version = mysql_get_server_info(); 
  70.   return $this->version; 
  71.  } 
  72.  function fetch_one_array($sql
  73.  {//开源代码phpfensi.com 
  74.   $query = $this->query($sql); 
  75.   $this->data = $this->fetch_array($query); 
  76.   return $this->data; 
  77.  } 
  78.  function geterror() 
  79.  { 
  80.   return mysql_error(); 
  81.  } 
  82. ?> 

sql数据库,代码如下:

  1. -- phpmyadmin sql dump 
  2. -- version 3.1.2-rc1 
  3. -- http://www.phpmyadmin.net 
  4. -- 
  5. -- 主机: localhost 
  6. -- 生成日期: 2009 年 04 月 15 日 09:22 
  7. -- 服务器版本: 5.0.67 
  8. -- php 版本: 5.2.6 
  9. set sql_mode="no_auto_value_on_zero"
  10.  
  11. /*!40101 set @old_character_set_client=@@character_set_client */; 
  12. /*!40101 set @old_character_set_results=@@character_set_results */; 
  13. /*!40101 set @old_collation_connection=@@collation_connection */; 
  14. /*!40101 set names utf8 */; 
  15. -- 
  16. -- 数据库: `rc` 
  17. -- 
  18. -- -------------------------------------------------------- 
  19. -- 
  20. -- 表的结构 `person` 
  21. -- 
  22. create table if not exists `person` ( 
  23.   `person_id` int(11) unsigned not null auto_increment, 
  24.   `login` varchar(25) not null
  25.   `pws` varchar(25) not null
  26.   `question` varchar(25) not null
  27.   `answer` varchar(25) not null
  28.   `addtime` timestamp not null default current_timestamp
  29.   primary key  (`person_id`) 
  30. ) engine=innodb  default charset=gbk comment='人员表' auto_increment=13 ; 
  31. -- 
  32. -- 导出表中的数据 `person` 
  33. -- 
  34. insert into `person` (`person_id`, `login`, `pws`, `question`, `answer`, `addtime`) values 
  35. (1, 'huangxulei''123456''whoareyou''iami''2009-04-15 10:06:42'), 
  36. (3, 'lihuang''123456''123''www.111cn.net''2009-04-15 10:47:26'), 
  37. (4, '2222''333''3333''33333''2009-04-15 14:23:50'), 
  38. (8, '张红''123456''whoareyou''000''2009-04-15 16:18:09'), 
  39. (9, '111''111''111''111''2009-04-15 16:26:07'), 
  40. (10, '111''111''111''111''2009-04-15 16:26:07'), 
  41. (11, '5555555555''00000''11100''33333333''2009-04-15 16:26:07');

Tags: PHP数据库添加 PHP数据库修改

分享到: