php封装的分类导航类,php封装的分类导航类有哪些

发布时间:2022-11-22

本文目录一览:

  1. php递归便利出一级分类的栏目做导航用,求代码,遍历一级出来做导航,并加上连接
  2. 什么是php中的封装
  3. php导航分类代码求助
  4. php怎么用递归做商城类三级导航菜单
  5. PHP函数封装!

php递归便利出一级分类的栏目做导航用,求代码,遍历一级出来做导航,并加上连接

$dbhost = ;//数据库的访问地址
$dbname = ;//使用的数据库名称
$dbuser = ;//数据库用户名
$dbpass = ;//数据库密码
$conn = mysql_connect($dbhost,$dbuser,$dbpass) or die(mysql_error());
mysql_select_db($dbname,$conn) or die(mysql_error());
$result = mysql_query("SELECT * FROM 表名称 WHERE fid = 0");
while($row = mysql_fetch_array($result)){
    echo '<a href="链接?id='.$row["id"].'">'.$row["classname"].'</a><br />';
}

什么是php中的封装

封装是php面向对象的其中一个特性,将多个可重复使用的函数封装到一个类里面。在使用时直接实例化该类的某一个方法,获得需要的数据 如果是私有的方法和属性值,外部无法访问,具有一定的保护作用。 面向对象之封装 例子

class A{
    public $name = '老王';
    // protected $name = '老王';
    //private $name = '老王';
    //自己访问
    public function saya(){
        return $this->name;
    }
}
//实例化对象
$b = new A;
//public:外部、家族、自己都可以访问
//protected:家族和自己都可以访问,外部无法访问
//private:自己可以访问,外部和家族都无法访问
echo '外部访问:'.$b->name.'<br />'; //如果是私有的,访问不了
echo '家族访问:'.$b->sayb().'<br />';
echo '自己访问:'.$b->saya().'<br />';

php导航分类代码求助

$query = mysql_query( "SELECT name,id,pid FROM nav WHERE pid = 0 ORDER BY id ASC LIMIT 0 , 8" );
while ( $top = mysql_fetch_array( $query ) ) {
    echo $top['name'] . '<br />';
    $query2 = mysql_query( "SELECT name,id,pid FROM nav WHERE pid = " . $top["id"] . " ORDER BY id ASC" );
    while ( $rs = mysql_fetch_array( $query2 ) ) {
        echo '&nbsp;&nbsp;|____' . $rs['name']. '<br />';
    }
}

输出结果:

顶级1
|____顶级1的二级类1
|____顶级1的二级类2
顶级2
|____顶级2的二级类1
|____顶级2的二级类2
顶级3
|____顶级3的二级类1
|____顶级3的二级类2

php怎么用递归做商城类三级导航菜单

字符串和数组方式无限级分类。 如 字符串

header('Content-type: text/html; charset=utf-8');
include_once('connect.php');
function get_str($id=0){
    global $str;
    $sql="select id,title from class where pid=$id";
    $result=mysql_query($sql);
    if($result && mysql_affected_rows()){
        $str.="<ul>";
        while($row=mysql_fetch_array($result)){
            $str.="<li>".$row['id']."--".$row['title']."</li>";
            get_str($row['id']);
        }
        $str.="</ul>";
    }
    return $str;
}
echo get_str(0);

PHP函数封装!

你传入的sql不应该那样传,可用性太低,函数或方法应该传入变量,或者说可变的值。上代码,不懂的问

/*封装函数*/
$arr = $_POST;
//$sql = "INSERT INTO ui234_user (username,password,u_name,u_time) VALUES (?,?,?,?)";
$table_name = "ui234_user";
$field_arr = array('username','password','u_name','u_time');
insert($arr,$table_name,$field_arr);
function insert($arr,$table_name,$field_arr){
    $sql = 'INSERT INTO '.$table_name.' (';
    $field_name = '';//名称
    $field_value = '';//值
    $field_post = '';//post取值
    /*拼装字段*/
    foreach ($field_arr as $key => $value) {
        if($key == count($field_arr)-1){
            $field_name .= $value;
            $field_value .= '?';
            $field_post .= '$arr["'.$field_name.'"]';
        }else{
            $field_name .= $value.',';
            $field_value .= '?,';
            $field_post .= '$arr["'.$value.'"],';
        }
    }
    $sql .= $field_name.') VALUES ('.$field_value.');';
    $mysqli=connect();
    $stmt = $mysqli->prepare("{$sql}");
    $exe_str = '$stmt->bind_param("ssss",'.$field_post.');';
    //输出字符串结果
    echo $sql.'<hr/>';
    echo $exe_str;
    //然后用eval执行字符串代码
    eval($exe_str);//相当于是:$stmt->bind_param('ssss',$arr['username'],$arr['password'],$arr['u_name'],$arr['u_time']);
    $stmt->execute();
}