第15章 因特网与TCP/IP

转载 2007年09月18日 15:39:00

以上是表结构

写一个支持的类

<?
   class articletype extends comm {
   
   
   
    
    private $article_type_id;//类型id
    private $article_parent_id;//父类id
    private $article_type_name;//类型名称
    private $article_type_path;//路径名称
    private $is_send_message;
    private $is_hidden;
    private $look_right;
    private $model_type_id;
   
   /*
   get...set 协议进行初始化
   
   */
   
   
    function set_article_type_id($article_type_id){ $this->article_type_id=$article_type_id;}
    function get_article_type_id(){ return $this->article_type_id;}
    function set_article_parent_id($article_parent_id){ $this->article_parent_id=$article_parent_id;}
    function get_article_parent_id(){ return $this->article_parent_id;}
    function set_article_type_name($article_type_name){ $this->article_type_name=$article_type_name;}
    function get_article_type_name(){ return $this->article_type_name;}
    function set_article_type_path($article_type_path){ $this->article_type_path=$article_type_path;}
    function get_article_type_path(){ return $this->article_type_path;}
    function set_is_send_message($is_send_message){ $this->is_send_message=$is_send_message;}
    function get_is_send_message(){ return $this->is_send_message;}
    function set_is_hidden($is_hidden){ $this->is_hidden=$is_hidden;}
    function get_is_hidden(){ return $this->is_hidden;}
    function set_look_right($look_right){ $this->look_right=$look_right;}
    function get_look_right(){ return $this->look_right;}
    function set_model_type_id($model_type_id){ $this->model_type_id=$model_type_id;}
    function get_model_type_id(){ return $this->model_type_id;}
       
   
   
   
   
   
   /*
   
   add_articletype;
   
   */
   
   
   /*
   
   列表文章类别
   
   
   */
    function list_articletype(){
     global $db;
     global $article_type;
     $re=$db->query("select * from article_type order by article_type_path");
    // echo "<select>";
     while($r=$db->fetch_array($re)){
      $str="";
      if(substr_count($r['article_type_path'],',')>2){
       $str="|";
       for($i=0;$i<(substr_count($r['article_type_path'],',')-2);$i++){
       $str.="---";
       }
     
     }
    // echo "<option value={$r['article_type_id']}>".$str.$r['article_type_name']."</option>";
     //echo "<br>";
     $str=$str.$r['article_type_name'];
     $article_type[]=array('article_type_id'=>$r['article_type_id'],'article_type_name'=>$str,'article_parent_id'=>$r['article_parent_id'],'article_type_path'=>$r['article_type_path']);
    }
     //echo "</select>";
    }
    
    
    /*
    
    
    删除类别的函数
    
    */
    function chk_del_article_type(){
    global $db;
      $sql="select article_parent_id from article_type where article_parent_id=".$this->get_article_type_id();
      $re=$db->query($sql);
      $num=$db->num_rows($re);
      if($num>0){
       echo "<script>alert(/"还有分类,你必须删除分类/")</script>";
       echo '<script>window.location="javascript:history.back(-1)"</script>';
       exit;
       }
       $sql1="delete from article_type where article_type_id=".$this->get_article_type_id();
       $rt=$db->query($sql1);
        if($rt){
        
        echo "<script>alert(/"你删除成功了/")</script>";
        echo '<script>window.location="javascript:history.back(-1)"</script>';
        }
       }
       
    /*
    
    增加父类
    
    */
    function add_parent_type(){
     global $db;
     /*
     
     生成sql语句
     
     */
     $sql="insert into article_type(article_parent_id,article_type_name,is_send_message,is_hidden,look_right,model_type_id) values(".$this->get_article_parent_id().",'".$this->get_article_type_name()."',".$this->get_is_send_message().",".$this->get_is_hidden().",".$this->get_look_right().",".$this->get_model_type_id().")";
     echo $sql;
     $db->query($sql);
     $id=$db->insert_id();
     $sql="update article_type set article_type_path='".",".$id.",' where article_type_id=".$id;
     $re=$db->query($sql);
      if($re){
       
      
      
       parent::showmessage("成功操作");//调用comm类的方法
       parent::jump("right.php?action=manage_news_type");//
      }else{
          $sql="delete from article_type where article_type_id=".$id;
       $db->query($sql);
       echo "<script>alert(/"插入数据失败/")</script>";
       echo "<script>location.href=/"right.php?action=manage_news_type/"</script>";
      
      }
    }
       
       
      
      
      
      
       /*
       
       
       
       增加新闻子类别
       
       */
       
       
        function add_child_type(){
         global $db;
         /*
         
         生成sql语句
         
         */
         $sql="insert into article_type(article_parent_id,article_type_name,is_send_message,is_hidden,look_right,model_type_id) values(".$this->get_article_parent_id().",'".$this->get_article_type_name()."',".$this->get_is_send_message().",".$this->get_is_hidden().",".$this->get_look_right().",".$this->get_model_type_id().")";
         echo $sql;
         $db->query($sql);
         $id=$db->insert_id();
         /*
         
         查询出父类接点的path
         */
         $article_type_path=$db->search('article_type','article_type_path','article_type_id='.$this->get_article_type_id(),'2');
         $path=$article_type_path['article_type_path'].$id.",";
         $sql="update article_type set article_type_path='".$path."' where article_type_id=".$id;
         $re=$db->query($sql);
          if($re){
           
          
          
           parent::showmessage("成功操作");//调用comm类的方法
           parent::jump("right.php?action=manage_news_type");//
          }else{
           $sql="delete from article_type where article_type_id=".$id;
           $db->query($sql);
           echo "<script>alert(/"插入数据失败/")</script>";
           echo "<script>location.href=/"right.php?action=manage_news_type/"</script>";
          
          }
    }
       
      
       
       
       
       
       
       

    }
   
    
   
    
    
    
    
    
    
    /*
    
    实例化对象
    
    
    */
   $articletype=new articletype;
  

?> 

 

 

 

调用类的操作

<?

case 'del_article_type':
     $articletype->set_article_type_id($array['article_type_id']);
     $articletype->chk_del_article_type();
     break;
     
     
     
     
     case 'add_parent_root':
     $tp->display('add_parent_root.htm');
     break;
     
     
     /*
     
     获取表单数据放入数组,提供给类,进行入库操作
     
     */
     
     
     case 'chk_add_type':
      $ar=array(
      'article_type_name'=>$_POST['article_type_name'],
      'is_send_message'=>$_POST['is_send_message'],
      'is_hidden'=>$_POST['is_hidden'],
      'look_right'=>$_POST['look_right'],
      'model_type_id'=>$_POST['model_type_id'],
      
      
      );
      
      /*
      
      给类传值 set   get方法
      */
      
      $articletype->set_article_type_name($ar['article_type_name']);
      $articletype->set_article_parent_id(0);
      $articletype->set_is_send_message($ar['is_send_message']);
      $articletype->set_is_hidden($ar['is_hidden']);
      
      $articletype->set_look_right($ar['look_right']);
      $articletype->set_model_type_id($ar['model_type_id']);
      $articletype->add_parent_type();
    
     break;
     
     
     /*
     
     增加子分类
     
     */

if($action=='chk_add_child_type'){
  
  $ar=array(
      'article_type_name'=>$_POST['article_type_name'],
      'is_send_message'=>$_POST['is_send_message'],
      'is_hidden'=>$_POST['is_hidden'],
      'look_right'=>$_POST['look_right'],
      'model_type_id'=>$_POST['model_type_id'],
      'article_type_id'=>$_POST['article_type_id']
      
      );
      
      /*
      
      给类传值 set   get方法
      */
      $articletype->set_article_type_id($ar['article_type_id']);
      $articletype->set_article_type_name($ar['article_type_name']);
      $articletype->set_article_parent_id($article_type_id);
      $articletype->set_is_send_message($ar['is_send_message']);
      $articletype->set_is_hidden($ar['is_hidden']);
      
      $articletype->set_look_right($ar['look_right']);
      $articletype->set_model_type_id($ar['model_type_id']);
      $articletype->add_child_type();
  }

?>

《TCP/IP详解 卷1:协议》 读书笔记 第十五章 TFTP:简单文件传送协议

第十五章 TFTP:简单文件传送协议 TFTP适合于只读存储器,仅用于无盘系统进行系统引导,是一种停等协议。 因为UDP在一个客户与一个服务器之间并不提供唯一连接,TFTP服务器通过为每个客户提供一个...
  • jiange_zh
  • jiange_zh
  • 2015年12月12日 15:31
  • 520

关于TCP/IP 因特网 (Internet) 的通信协议

一、TCP/IP 是用于因特网 (Internet) 的通信协议 1、计算机通信协议是对那些计算机必须遵守以便彼此通信的的规则的描述。 2、什么是TCP/IP? a、TCP/IP 是供已连接因特网...
  • a623891391
  • a623891391
  • 2013年09月02日 11:15
  • 1222

Python核心编程第15章正则表达式练习答案

#15-1 识别下列字符串:“bat,” “bit,” “but,” “hat,” “hit,” 或 “hut” pattern =  r'[bh][aiu]t,?' #15-2  匹配用...
  • iamzhaiwei
  • iamzhaiwei
  • 2012年10月09日 10:54
  • 3492

第15章 动态规划 算法导论

动态规划常用来解决最优化问题,在这类问题中,我们通过做出一组选择来达到最优解。在做出每个选择的同时,通常会生成与原问题形式相同的子问题。 当多于一个选择子集都生成相同的子问题时,动态规划技术通常会很...
  • Xiejunyi12
  • Xiejunyi12
  • 2016年02月11日 22:22
  • 451

因特网与TCP/IP

 第15章 因特网与TCP/IP   因特网(Internet)是全世界使用TCP/IP协议堆和网关设备(gateway)组成的网络,TCP/IP实际上已成为因特网的代名词。为对多媒体网络应用有比较深...
  • lcj8
  • lcj8
  • 2008年10月30日 13:35
  • 4132

TCP/IP协议族【第15章 传输控制协议(TCP)】

1 TCP服务 tcp位于应用层和网络层之间。 1.1 进程到进程的通信    与UDP一样,TCP也是用端口号提供进程到进程的通信。 1.2 流交付服务 在UDP中,进程把已经定义...
  • bohu83
  • bohu83
  • 2017年11月30日 15:46
  • 80

TCP/IP详解第二版(卷1 协议)

TCP/IP详解第二版(卷1 协议)-Chapter 2IP地址的表示标准的IPV6地址表示方式是 5f05:2000:80ad:5800:0058:0800:2023:1d71,为了简化IP地址的书...
  • CorCplusplusorjava
  • CorCplusplusorjava
  • 2016年06月10日 11:20
  • 2288

Tcp/Ip的第二版评价

本来不想吐槽的,可是一想到花了¥450买了这么一本书我就觉得不吐不爽。stevens之前的advanced programming in the unix environment和unix netwo...
  • fjt19900921
  • fjt19900921
  • 2012年12月03日 19:05
  • 1190

《Unix & Linux 大学教程》 - 第十三章 学习笔记

学习笔记,内容基础,适合初学者。 阅读之前,请务必花30秒查看前言说明(在第一、二章前面部分) 《Unix & Linux 大学教程》 - 第一、二章 学习笔记   Uni...
  • su1216
  • su1216
  • 2012年08月14日 11:45
  • 3527

算法导论第15章练习题 15.4-5

15.4-5设计一个O(n²)时间的算法,求一个n个数的序列的最长单调递增子序列。 第一种:对序列进行排序,排序之后得到序列b与原来的序列a,求最长公共子串。(排序之前先将原来序列中的重复元素删掉(保...
  • u013264046
  • u013264046
  • 2017年07月04日 17:19
  • 329
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第15章 因特网与TCP/IP
举报原因:
原因补充:

(最多只允许输入30个字)