if (!in_array($action,array('addarticle','setarticle','editarticle','seteditarticle','delarticle','searcharticle'))) {
$page = empty($page)?'1':intval($page);
$perpage = 10;
$begin = ($page-1)*$perpage;
if ($action=='list') {
$cateid = intval($_GET['cateid']);
$sqlcate = "SELECT * FROM {$db_prefix}categories ORDER BY  displayorder ASC";
$sqlarticle = "SELECT a.articleid,a.cid,a.title,a.attachments,a.dateline,a.visible,c.cid,c.name FROM {$db_prefix}articles a LEFT JOIN ({$db_prefix}categories c) ON (a.cid=c.cid AND a.cid='$cateid') ORDER BY articleid DESC LIMIT $begin,$perpage";
$purl = "admincp.php?do=article&action=list&cateid=$cateid";
//echo $sqlcate;echo $sqlarticle;echo $purl;exit;
}else {
$sqlcate = "SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC";
$sqlarticle = "SELECT a.articleid,a.cid,a.title,a.attachments,a.dateline,a.visible,c.cid,c.name FROM {$db_prefix}articles a LEFT JOIN ({$db_prefix}categories c) ON (a.cid=c.cid) ORDER BY articleid DESC LIMIT $begin,$perpage";
$purl = "admincp.php?do=article";
}

$categories = $DB->query($sqlcate);
$allarticles = 0;
while ($catearr = $DB->fetch_assoc($categories)) {
$categoryarr[] = $catearr;
$allarticles += $catearr['articles'];
}
$article = $DB->query($sqlarticle);
while ($aarr = $DB->fetch_assoc($article)) {
$articlearr[] = $aarr;
}
//print_r($articlearr);exit;
$pagination = pagination($allarticles,$perpage,$page,$purl);
include $template->getfile('admin_article');
}if ($action=='addarticle') {
include C7ROOT.'editor/fckeditor.php';
$fckeditor = new FCKeditor('article');
$fckeditor->BasePath = '../editor/';
$fckeditor->Width='650px';
$fckeditor->Height='400px';
$categories = $DB->query("SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC");
while ($catearr = $DB->fetch_assoc($categories)) {
$categoryarr[] = $catearr;
}
include $template->getfile('admin_addarticle');
}
if($action=='setarticle') {
foreach ($_POST as $k=>$v) {
$_POST[$k] = char_cv($v);
}
if (empty($title) || empty($category) || empty($tags) || empty($article)) {
showmessage('请将必要信息填写完整!','admincp.php?do=article&action=addarticle');
exit;
}
$dateline = tolinuxtime($_POST['addtime']);

$keywords = str_replace(',',',',$_POST['tags']);
$keywords = str_replace(',,',',',$keywords);

include C7ROOT.'./c7admin/upload.inc.php';
$sql = "INSERT INTO {$db_prefix}articles VALUES(NULL,'$_POST[category]','$_SESSION[C7UID]','$_POST[title]','".htmlspecialchars_decode($_POST[article])."','$keywords','$dateline','','','$attachs','$_POST[closecomment]','$_POST[visible]','$_POST[stick]')"; 
//echo $sql;exit;
$DB->query($sql);
$articleid = $DB->insert_id();
if ($attachmentsids) {
$DB->query("UPDATE {$db_prefix}attachments SET articleid='$articleid' WHERE attachmentid IN($attachmentsids)");
} $DB->query("UPDATE {$db_prefix}users SET articles=articles+1 WHERE userid='$_SESSION[C7UID]'");
if ($keywords) {
$tagdb = explode(',',$keywords);
$tagnum = count($tagdb);
for($i=0;$i<$tagnum;$i++) {
$tagdb[$i] = trim($tagdb[$i]);
if ($tagdb[$i]) {
$tag = $DB->fetch_assoc($DB->query("SELECT tagid,aids FROM {$db_prefix}tags WHERE tag='$tagdb[$i]'"));
if (!$tag) {
$DB->query("INSERT INTO {$db_prefix}tags VALUES(NULL,'$tagdb[$i]','1','$articleid')");

$DB->query("UPDATE {$db_prefix}statistics SET tag_count=tag_count+1,curdate='$timestamp'");
}else {

$aids = $tag['aids'].','.$articleid;
$DB->query("UPDATE {$db_prefix}tags SET usenum=usenum+1,aids='$aids' WHERE tag='$tagdb[$i]'");
}
}
}
}//end if

$DB->query("UPDATE {$db_prefix}categories SET articles=articles+1 WHERE cid='$_POST[category]'"); $DB->query("UPDATE {$db_prefix}statistics SET article_count=article_count+1");
$DB->query("UPDATE {$db_prefix}statistics SET attachment_count=attachment_count+'$attachmentcount',curdate='$timestamp'");
require_once C7ROOT.'./include/cache.func.php';
recache();
showmessage('添加文章成功!','admincp.php?do=article');
}if ($action=='editarticle') {
include C7ROOT.'editor/fckeditor.php';
$fckeditor = new FCKeditor('article');
$fckeditor->BasePath = '../editor/';
$fckeditor->Width='650px';
$fckeditor->Height='400px';
$articleid = intval($articleid);
$categories = $DB->query("SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC");
while ($catearr = $DB->fetch_assoc($categories)) {
$categoryarr[] = $catearr;
}
$articlearr = $DB->fetch_assoc($DB->query("SELECT cid,title,content,keywords,dateline,attachments,closecomment,visible,stick FROM {$db_prefix}articles WHERE articleid='$articleid'"));
$fckeditor->Value=$articlearr['content'];
include $template->getfile('admin_editarticle');
}
if ($action=='seteditarticle') {
//print_r($_POST);exit;
$articleid = intval($_GET['articleid']);
foreach ($_POST as $k=>$v) {
$_POST[$k] = char_cv($v);
}
if (empty($title) || empty($category) || empty($tags) || empty($article)) {
showmessage('请将必要信息填写完整!','admincp.php?do=article&action=addarticle');
exit;
}
$dateline = tolinuxtime($_POST['addtime']); $keywords = str_replace(',',',',$_POST['tags']);
$keywords = str_replace(',,',',',$keywords);
$_POST['upattachid'] = !empty($_POST['upattachid'])?$_POST['upattachid']:array();
$attarr = $DB->fetch_assoc($DB->query("SELECT attachments FROM {$db_prefix}articles WHERE articleid='$articleid'"));
$attarr = unserialize(stripslashes_array($attarr['attachments']));
//print_r($attarr);print_r($upattachid); if (!empty($attarr)) {
if (count($attarr) != count($_POST['upattachid'])) {
$attachment_count=0;
foreach ($attarr as $key=>$value) {

if (!in_array($key,$_POST['upattachid'])) {

unlink(C7ROOT.$c7base['attachments_dir'].$value['filepath']);
if ($value['isimage']=='1') {
unlink(C7ROOT.$c7base['attachments_dir'].$value['thumb_filepath']);
}


$DB->query("DELETE FROM {$db_prefix}attachments WHERE attachmentid='$key'");

unset($attarr[$key]);
}
$attachment_count--;
}

}
}
//print_r($attarr);print_r($upattachid); if ($_FILES['attach']['name'][0]||$_FILES['attach']['name'][1]||$_FILES['attach']['name'][2]||$_FILES['attach']['name'][3]) {
include C7ROOT.'./c7admin/upload.inc.php';
if (!empty($attarr)) {
$attachment_count =$attachment_count + $attachmentcount;
$attachs = unserialize(stripslashes_array($attachs));
$attachs = serialize(array_merge($attarr,$attachs));
}else{
$attachs = $attachs;
}
}elseif (!empty($attarr)) {
$attachs = addslashes(serialize($attarr));
}else {
$attachs = '';
}
//print_r($attachs);print_r(unserialize(stripslashes_array($attachs)));echo 'articleid:'.$articleid;exit; $DB->query("UPDATE {$db_prefix}statistics SET attachment_count=attachment_count+'$attachment_count'");

if ($keywords) {
$tagdb = explode(',',$keywords);
$tagnum = count($tagdb);
for($i=0;$i<$tagnum;$i++) {
$tagdb[$i] = trim($tagdb[$i]);
if ($tagdb[$i]) {
$tag = $DB->fetch_assoc($DB->query("SELECT tagid,aids FROM {$db_prefix}tags WHERE tag='$tagdb[$i]'"));
if (!$tag) {
$DB->query("INSERT INTO {$db_prefix}tags VALUES(NULL,'$tagdb[$i]','1','$articleid')");

$DB->query("UPDATE {$db_prefix}statistics SET tag_count=tag_count+1");
}
}
}
}//end if


$DB->query("UPDATE {$db_prefix}attachments SET articleid='$articleid' WHERE attachmentid IN($attachmentsids)"); $DB->query("UPDATE {$db_prefix}articles SET cid='$_POST[category]',uid='$_SESSION[C7UID]',title='$_POST[title]',content='".htmlspecialchars_decode($_POST[article])."',keywords='$keywords',dateline='$dateline',attachments='$attachs',closecomment='$_POST[closecomment]',visible='$_POST[visible]',stick='$_POST[stick]' WHERE articleid='$articleid'");
//$DB->query("UPDATE {$db_prefix}statistics SET ")
require_once C7ROOT.'./include/cache.func.php';
recache();
showmessage('更新文章成功!','admincp.php?do=article');
}if ($action=='delarticle') {
//print_r($_POST);exit;
if ($delarticleid) {
foreach ($delarticleid as $k=>$v) {
$delarticleid[$k] = intval($v);
}
$articleids = implode(',',$delarticleid);
$DB->query("DELETE FROM {$db_prefix}articles WHERE articleid IN ($articleids)");
$DB->query("DELETE FROM {$db_prefix}attachments WHERE articleid IN ($articleids)");
//还要处理TAGS表文章引用ID
require_once C7ROOT.'./include/cache.func.php';
recache();
showmessage('删除文章成功','admincp.php?do=article');
}else {
showmessage('请选择要删除的文章','admincp.php?do=article');
}

if ($action=='searcharticle') {
foreach ($_GET as $k=>$v) {
$_GET[$k] = char_cv($v);
}
if (!empty($_GET['words'])) {
$page = empty($page)?'1':intval($page);
$perpage = 10;
$begin = ($page-1)*$perpage;
$num = $DB->num_rows($DB->query("SELECT articleid FROM {$db_prefix}articles WHERE keywords LIKE '%$_GET[words]%'"));
$sql = "SELECT articleid,title,dateline,visible FROM {$db_prefix}articles WHERE keywords LIKE '%$_GET[words]%' ORDER BY dateline DESC LIMIT $begin,$perpage";
$sresult = $DB->query($sql);
while ($arr = $DB->fetch_assoc($sresult)) {
$sarray[] = $arr;
}
$pagination = pagination($num,$perpage,$page,"admincp.php?do=article&action=searcharticle&words=$_GET[words]");
}
include $template->getfile('admin_searcharticle');
}

解决方案 »

  1.   

    PHP语言易学,易理解,易上手。所以很多很多人在用。也造成了其用户的广泛性,所以产品覆盖面也很广。
    太多。看着太累。好像就是个文章管理系统。有搜索分页和各种操作。楼主慢慢看吧。没有太多难点。
      

  2.   

    你这个好像主要是对文章的管理哦,
    通过不同的action来进行的文章的操作
      

  3.   

    if (!in_array($action,array('addarticle','setarticle','editarticle','seteditarticle','delarticle','searcharticle'))) {
    $page = empty($page)?'1':intval($page);
    $perpage = 10;
    $begin = ($page-1)*$perpage;
    if ($action=='list') {
    $cateid = intval($_GET['cateid']);
    $sqlcate = "SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC";
    $sqlarticle = "SELECT a.articleid,a.cid,a.title,a.attachments,a.dateline,a.visible,c.cid,c.name FROM {$db_prefix}articles a LEFT JOIN ({$db_prefix}categories c) ON (a.cid=c.cid AND a.cid='$cateid') ORDER BY articleid DESC LIMIT $begin,$perpage";
    $purl = "admincp.php?do=article&action=list&cateid=$cateid";
    //echo $sqlcate;echo $sqlarticle;echo $purl;exit;
    }else {
    $sqlcate = "SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC";
    $sqlarticle = "SELECT a.articleid,a.cid,a.title,a.attachments,a.dateline,a.visible,c.cid,c.name FROM {$db_prefix}articles a LEFT JOIN ({$db_prefix}categories c) ON (a.cid=c.cid) ORDER BY articleid DESC LIMIT $begin,$perpage";
    $purl = "admincp.php?do=article";
    }$categories = $DB->query($sqlcate);
    $allarticles = 0;
    while ($catearr = $DB->fetch_assoc($categories)) {
    $categoryarr[] = $catearr;
    $allarticles += $catearr['articles'];
    }
    $article = $DB->query($sqlarticle);
    while ($aarr = $DB->fetch_assoc($article)) {
    $articlearr[] = $aarr;
    }
    //print_r($articlearr);exit;
    $pagination = pagination($allarticles,$perpage,$page,$purl);
    include $template->getfile('admin_article');
    }if ($action=='addarticle') {
    include C7ROOT.'editor/fckeditor.php';
    $fckeditor = new FCKeditor('article');
    $fckeditor->BasePath = '../editor/';
    $fckeditor->Width='650px';
    $fckeditor->Height='400px';
    $categories = $DB->query("SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC");
    while ($catearr = $DB->fetch_assoc($categories)) {
    $categoryarr[] = $catearr;
    }
    include $template->getfile('admin_addarticle');
    }
    if($action=='setarticle') {
    foreach ($_POST as $k=>$v) {
    $_POST[$k] = char_cv($v);
    }
    if (empty($title) || empty($category) || empty($tags) || empty($article)) {
    showmessage('请将必要信息填写完整!','admincp.php?do=article&action=addarticle');
    exit;
    }
    $dateline = tolinuxtime($_POST['addtime']);$keywords = str_replace(',',',',$_POST['tags']);
    $keywords = str_replace(',,',',',$keywords);include C7ROOT.'./c7admin/upload.inc.php';
    $sql = "INSERT INTO {$db_prefix}articles VALUES(NULL,'$_POST[category]','$_SESSION[C7UID]','$_POST[title]','".htmlspecialchars_decode($_POST[article])."','$keywords','$dateline','','','$attachs','$_POST[closecomment]','$_POST[visible]','$_POST[stick]')";  
    //echo $sql;exit;
    $DB->query($sql);
    $articleid = $DB->insert_id();
    if ($attachmentsids) {
    $DB->query("UPDATE {$db_prefix}attachments SET articleid='$articleid' WHERE attachmentid IN($attachmentsids)");
    }$DB->query("UPDATE {$db_prefix}users SET articles=articles+1 WHERE userid='$_SESSION[C7UID]'");
    if ($keywords) {
    $tagdb = explode(',',$keywords);
    $tagnum = count($tagdb);
    for($i=0;$i<$tagnum;$i++) {
    $tagdb[$i] = trim($tagdb[$i]);
    if ($tagdb[$i]) {
    $tag = $DB->fetch_assoc($DB->query("SELECT tagid,aids FROM {$db_prefix}tags WHERE tag='$tagdb[$i]'"));
    if (!$tag) {
    $DB->query("INSERT INTO {$db_prefix}tags VALUES(NULL,'$tagdb[$i]','1','$articleid')");$DB->query("UPDATE {$db_prefix}statistics SET tag_count=tag_count+1,curdate='$timestamp'");
    }else {$aids = $tag['aids'].','.$articleid;
    $DB->query("UPDATE {$db_prefix}tags SET usenum=usenum+1,aids='$aids' WHERE tag='$tagdb[$i]'");
    }

    }
    }//end if$DB->query("UPDATE {$db_prefix}categories SET articles=articles+1 WHERE cid='$_POST[category]'");$DB->query("UPDATE {$db_prefix}statistics SET article_count=article_count+1");
    $DB->query("UPDATE {$db_prefix}statistics SET attachment_count=attachment_count+'$attachmentcount',curdate='$timestamp'");
    require_once C7ROOT.'./include/cache.func.php';
    recache();
    showmessage('添加文章成功!','admincp.php?do=article');
    }if ($action=='editarticle') {
    include C7ROOT.'editor/fckeditor.php';
    $fckeditor = new FCKeditor('article');
    $fckeditor->BasePath = '../editor/';
    $fckeditor->Width='650px';
    $fckeditor->Height='400px';
    $articleid = intval($articleid);
    $categories = $DB->query("SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC");
    while ($catearr = $DB->fetch_assoc($categories)) {
    $categoryarr[] = $catearr;
    }
    $articlearr = $DB->fetch_assoc($DB->query("SELECT cid,title,content,keywords,dateline,attachments,closecomment,visible,stick FROM {$db_prefix}articles WHERE articleid='$articleid'"));
    $fckeditor->Value=$articlearr['content'];
    include $template->getfile('admin_editarticle');
    }
    if ($action=='seteditarticle') {
    //print_r($_POST);exit;
    $articleid = intval($_GET['articleid']);
    foreach ($_POST as $k=>$v) {
    $_POST[$k] = char_cv($v);
    }
    if (empty($title) || empty($category) || empty($tags) || empty($article)) {
    showmessage('请将必要信息填写完整!','admincp.php?do=article&action=addarticle');
    exit;
    }
    $dateline = tolinuxtime($_POST['addtime']);$keywords = str_replace(',',',',$_POST['tags']);
    $keywords = str_replace(',,',',',$keywords);
    $_POST['upattachid'] = !empty($_POST['upattachid'])?$_POST['upattachid']:array();
    $attarr = $DB->fetch_assoc($DB->query("SELECT attachments FROM {$db_prefix}articles WHERE articleid='$articleid'"));
    $attarr = unserialize(stripslashes_array($attarr['attachments']));
    //print_r($attarr);print_r($upattachid);if (!empty($attarr)) {
    if (count($attarr) != count($_POST['upattachid'])) {
    $attachment_count=0;
    foreach ($attarr as $key=>$value) {if (!in_array($key,$_POST['upattachid'])) {unlink(C7ROOT.$c7base['attachments_dir'].$value['filepath']);
    if ($value['isimage']=='1') {
    unlink(C7ROOT.$c7base['attachments_dir'].$value['thumb_filepath']);
    }
    $DB->query("DELETE FROM {$db_prefix}attachments WHERE attachmentid='$key'");unset($attarr[$key]);
    }
    $attachment_count--;
    }} 
    }
    //print_r($attarr);print_r($upattachid);if ($_FILES['attach']['name'][0]||$_FILES['attach']['name'][1]||$_FILES['attach']['name'][2]||$_FILES['attach']['name'][3]) {
    include C7ROOT.'./c7admin/upload.inc.php';
    if (!empty($attarr)) {
    $attachment_count =$attachment_count + $attachmentcount;
    $attachs = unserialize(stripslashes_array($attachs));
    $attachs = serialize(array_merge($attarr,$attachs));
    }else{
    $attachs = $attachs;
    }
    }elseif (!empty($attarr)) {
    $attachs = addslashes(serialize($attarr));
    }else {
    $attachs = '';
    }
    //print_r($attachs);print_r(unserialize(stripslashes_array($attachs)));echo 'articleid:'.$articleid;exit;$DB->query("UPDATE {$db_prefix}statistics SET attachment_count=attachment_count+'$attachment_count'"); if ($keywords) {
    $tagdb = explode(',',$keywords);
    $tagnum = count($tagdb);
    for($i=0;$i<$tagnum;$i++) {
    $tagdb[$i] = trim($tagdb[$i]);
    if ($tagdb[$i]) {
    $tag = $DB->fetch_assoc($DB->query("SELECT tagid,aids FROM {$db_prefix}tags WHERE tag='$tagdb[$i]'"));
    if (!$tag) {
    $DB->query("INSERT INTO {$db_prefix}tags VALUES(NULL,'$tagdb[$i]','1','$articleid')");$DB->query("UPDATE {$db_prefix}statistics SET tag_count=tag_count+1");
    }

    }
    }//end if
    $DB->query("UPDATE {$db_prefix}attachments SET articleid='$articleid' WHERE attachmentid IN($attachmentsids)");$DB->query("UPDATE {$db_prefix}articles SET cid='$_POST[category]',uid='$_SESSION[C7UID]',title='$_POST[title]',content='".htmlspecialchars_decode($_POST[article])."',keywords='$keywords',dateline='$dateline',attachments='$attachs',closecomment='$_POST[closecomment]',visible='$_POST[visible]',stick='$_POST[stick]' WHERE articleid='$articleid'");
    //$DB->query("UPDATE {$db_prefix}statistics SET ")
    require_once C7ROOT.'./include/cache.func.php';
    recache();
    showmessage('更新文章成功!','admincp.php?do=article');
    }if ($action=='delarticle') {
    //print_r($_POST);exit;
    if ($delarticleid) {
    foreach ($delarticleid as $k=>$v) {
    $delarticleid[$k] = intval($v);
    }
    $articleids = implode(',',$delarticleid);
    $DB->query("DELETE FROM {$db_prefix}articles WHERE articleid IN ($articleids)");
    $DB->query("DELETE FROM {$db_prefix}attachments WHERE articleid IN ($articleids)");
    //还要处理TAGS表文章引用ID
    require_once C7ROOT.'./include/cache.func.php';
    recache();
    showmessage('删除文章成功','admincp.php?do=article');
    }else {
    showmessage('请选择要删除的文章','admincp.php?do=article');
    }if ($action=='searcharticle') {
    foreach ($_GET as $k=>$v) {
    $_GET[$k] = char_cv($v);
    }
    if (!empty($_GET['words'])) {
    $page = empty($page)?'1':intval($page);
    $perpage = 10;
    $begin = ($page-1)*$perpage;
    $num = $DB->num_rows($DB->query("SELECT articleid FROM {$db_prefix}articles WHERE keywords LIKE '%$_GET[words]%'"));
    $sql = "SELECT articleid,title,dateline,visible FROM {$db_prefix}articles WHERE keywords LIKE '%$_GET[words]%' ORDER BY dateline DESC LIMIT $begin,$perpage";
    $sresult = $DB->query($sql);
    while ($arr = $DB->fetch_assoc($sresult)) {
    $sarray[] = $arr;
    }
    $pagination = pagination($num,$perpage,$page,"admincp.php?do=article&action=searcharticle&words=$_GET[words]");
    }
    include $template->getfile('admin_searcharticle');
    }
      

  4.   

    if else判断
    循环
    sql语句
    ...
      

  5.   

    写这个CODE怎么不重构一下,我一看到这么多代码,头都会晕,应该吧他拆分成N个小代码。
      

  6.   

    这个就是一小段一小段代码堆起来的,都是在调用 class
      

  7.   

    if (!in_array($action,array('addarticle','setarticle','editarticle','seteditarticle','delarticle','searcharticle'))) {
    //判断array('addarticle','setarticle','editarticle','seteditarticle','delarticle','searcharticle')数组中是否不存在$action;
    $page = empty($page)?'1':intval($page); 
    //判断$page是否为空,如果是,则$page赋值为1,如果不是则把$page去整,然后再赋值给$page;
    $perpage = 10;
    //定义每页显示10条记录;
    $begin = ($page-1)*$perpage;
    //计算从那条记录开始查询并返回;
    if ($action=='list') {
    //判断$action的值是否等于list;
    $cateid = intval($_GET['cateid']);
    //获取从$purl地址传递过来的参数cateid并赋值给$cateid变量;
    $sqlcate = "SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC";
    //查询{$db_prefix}categories中的所有字段,并且按displayorder字段升序排序;
    $sqlarticle = "SELECT a.articleid,a.cid,a.title,a.attachments,a.dateline,a.visible,c.cid,c.name FROM {$db_prefix}articles a LEFT JOIN ({$db_prefix}categories c) ON (a.cid=c.cid AND a.cid='$cateid') ORDER BY articleid DESC LIMIT $begin,$perpage";
    //首先把{$db_prefix}articles表包含到{$db_prefix}categorier表当中去,然后再在其中查询{$db_prefix}articles表的articleid、cid、title、attachments、dateline、visible字段以及{$db_prefix}categorier表中的cid、name字段,并且筛选出两个表cid相等、{$db_prefix}articles中cid=$cateid的记录,最后按照articleid降序排序,从$begin开始取$perpage=10条记录;(ps:这里是联合两个表查询)
    $purl = "admincp.php?do=article&action=list&cateid=$cateid";
    //定义处理地址变量并传递所需参数;
    //echo $sqlcate;echo $sqlarticle;echo $purl;
    //测试$sqlcate  $sqlarticle   $purl三个变量是否正确获取了嵌套其中的变量;
    //exit;
    //退出当前脚本(PS:这里有点小问题,exit函数应该有一个参数的:exit(status));}else {
    //如果$action不等于list,则:
    $sqlcate = "SELECT * FROM {$db_prefix}categories ORDER BY displayorder ASC";
    //查询{$db_prefix}categories中的所有字段,并且按displayorder字段升序排序;
    $sqlarticle = "SELECT a.articleid,a.cid,a.title,a.attachments,a.dateline,a.visible,c.cid,c.name FROM {$db_prefix}articles a LEFT JOIN ({$db_prefix}categories c) ON (a.cid=c.cid) ORDER BY articleid DESC LIMIT $begin,$perpage";
    //首先把{$db_prefix}articles表包含到{$db_prefix}categorier表当中去,然后再在其中查询{$db_prefix}articles表的articleid、cid、title、attachments、dateline、visible字段以及{$db_prefix}categorier表中的cid、name字段,并且筛选出两个表cid相等的记录,最后按照articleid降序排序,从$begin开始取$perpage=10条记录;
    $purl = "admincp.php?do=article";
    //定义处理地址变量并传递所需参数;
    }$categories = $DB->query($sqlcate);
    //调用$DB对象中的query()方法,使其执行$sqlcate语句,并将结果返回给categories(PS:query()方法相当于mysql_query()之类的执行sql语句的函数,在类中已定义);
    $allarticles = 0;
    //把$allarticles置为0;
    while ($catearr = $DB->fetch_assoc($categories)) {
    //调用$DB对象中的fetch_assoc()方法,并把值返回给$catearr数组,如果数组指针不指向末端则返回true(ps:fetch_assoc()方法相当于mysql_query_assoc()函数,返回的是数组,读取数组元素时必须使用字段名索引;
    $categoryarr[] = $catearr;
    //把数组赋值给$categaoryaar[]数组;
    $allarticles += $catearr['articles'];
    //把articles字段的值累加到$allartcles变量中;
    }
    $article = $DB->query($sqlarticle);
    //调用$DB对象中的query()方法,使其执行$sqlcate语句,并将结果返回给$artcle变量;
    while ($aarr = $DB->fetch_assoc($article)) {
    //调用$DB对象中的fetch_assoc()方法,并把值返回给$aarr数组,如果数组指针不指向末端则返回true;
    $articlearr[] = $aarr;
    //把$aarr的值赋值给$artclearr[]数组;
    }
    //print_r($articlearr);exit;
    //通过输出$artclearr[]数组测试数组是否正确,并退出脚本;
    $pagination = pagination($allarticles,$perpage,$page,$purl);
    //调用分页函数pagination(),并把返回的值赋给$pagination;
    include $template->getfile('admin_article');
    //调用$template对象的getfile()方法,使其获取admin_article文件,并且把这文件包含进来;
    }
      

  8.   

    本来想全部都解释一遍的,可是发现,后半部分语法和前面差不多,lz就自己动手丰衣足食吧。
    代码的大体思路是这样的:
       通过按照$action不同的值进行不同 的操作,其操作有修改,添加,删除等。