快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

无限分类&树型论坛的实现

数据表参考:

代码:--------------------------------------------------------------------------------
CREATE TABLE `mf_sort` (
`sortid` SMALLINT( 3 ) UNSIGNED NOT NULL AUTO_INCREMENT ,
`main` TINYINT( 2 ) UNSIGNED NOT NULL ,
`parentid` SMALLINT( 3 ) UNSIGNED NOT NULL ,
`layer` SMALLINT( 3 ) UNSIGNED NOT NULL ,
`orders` TINYINT( 2 ) UNSIGNED NOT NULL ,
`sort` VARCHAR( 100 ) NOT NULL ,
PRIMARY KEY ( `sortid` ) ,
INDEX ( `main` , `parentid` , `layer` , `orders` )
);
--------------------------------------------------------------------------------


要害的函数

PHP代码:--------------------------------------------------------------------------------
function get_main_layer_orders($parentid)
{
global $x_db;
$sql = "select `main`, `layer`, `orders` ";
$sql .= "from `mf_sort` ";
$sql .= "where `postid`=\\'$parentid\\'";
$x_db->exec($sql);
$data = $x_db->get_data();
$layer = $data[0][\\'layer\\']+1;
$main = $data[0][\\'main\\'];
$orders = $data[0][\\'orders\\'];

$sql = "select `sortid` from `mf_sort` ";
$sql .= "where `parentid`=\\'$parentid\\'";
$x_db->exec($sql);
$n = $x_db->n;
if ($n>0)
{
$lastid = $parentid;
get_lastid($lastid);
$sql = "select `orders` from `mf_sort` ";
$sql .= "where `sortid`=\\'$lastid\\'";
$x_db->exec($sql);
$data = $x_db->get_data();
$orders = $data[0][0];
$sql = "update `mf_sort` ";
$sql .= "set `orders`=`orders`+1 ";
$sql .= "where `orders`>$orders and `main`=\\'$main\\'";
$x_db->exec($sql);
$orders = $orders + 1;
return array($main, $layer, $orders);
}
else
{
$sql = "update `mf_sort` ";
$sql .= "set `orders`=`orders`+1 ";
$sql .= "where `orders`>$orders and `main`=\\'$main\\'";
$x_db->exec($sql);
return array($main, $layer, $orders+1);
}
}

//取得最后一个有效sortid
function get_lastid(&$parentid)
{
global $x_db;
$pre = $parentid;
$sql = "select max(`sortid`) as `id` ";
$sql .= "from `mf_sort` ";
$sql .= "where `parentid` = \\'$parentid\\'";
$x_db->exec($sql);
$data = $x_db->get_data();
$id = $data[0][\\'id\\'];
if (empty($id))
{
$parentid = $pre;
}
else
{
$parentid = $id;
get_lastid($parentid);
}
}






返回类别: 教程
上一教程: 几个php技巧
下一教程: PHP的历史和优缺点

您可以阅读与"无限分类&树型论坛的实现"相关的教程:
· 无限分类与树型论坛的实现方式
· php+mysql实现无限级分类 | 树型显示分类关系
· 一个无限分类的处理类
· 一棵php的类树(支持无限分类)
· PHP文本型数据库分类排序的实现
    微笑服务 优质保证 索取样品