本文目錄一覽:
- 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”]..’/abr /’;
}
什麼是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 ‘ |____’ . $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($resultmysql_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();
}
原創文章,作者:DEDK,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/137522.html