在批量删除文章前,首先得熟悉用数据库增加一篇文章时变动的有哪些表
今天升级以后的帝国cms7.0在生成页面时出现了奇怪的错误
Table '****_ecms_news_data_' doesn't exist
<!--{loop $data['list'] $key $hotdoc}-->
<!--{eval $key=$key+1}-->
<li class="num{$key}"><span>{$key}</span><a target="_blank" href="{url doc-view-$hotdoc['did']}" title="{$hotdoc['title']}">{$hotdoc['shorttitle']}</a></li>
hdwiki默认的最近更新原则上是可以使用 $doc['category']调用词条所属分类,但是在数据库表中发现所有的cid默认为0,只能进行连表查询调用。方法如下:
打开model/doc.class.php,找到461行左右,将代码修改为以下,注意红色部分:
$sql=" SELECT c.cid,d.did, d.letter,d.title,d.tag,d.summary,d.author,d.authorid,d.time,d.lastedit,d.lasteditor,d.lasteditorid,d.views,d.edits,d.editions,d.visible,d.locked FROM ".DB_TABLEPRE."doc as d LEFT JOIN ".DB_TABLEPRE."categorylink as c on c.did=d.did WHERE 1=1 ";
select d.title , c.name from wiki_doc d ,wiki_category c, wiki_categorylink ck where d.did = ck.did and c.cid = ck.cid
HDwiki模板中如何截取标题长度,我们有很多时候可以通过php在HDwiki的程序中截取字符长度。使用的办法是string::substring()方法来截取.因为他是继承了string类里面的方法来进行处理。如果我们要在HDwiki模板中截取字符长度。我们该使用eval方式来处理他。
HDWIKI首页使用可视化编辑时添加“分类下词条”后,分类名称是不带链接的(如下图),也就是说无法通过点击分类名称或“更多”按钮进入分类栏目,这对用户浏览网站不是很方便,下面我就来说说在栏目名称后方增加“更多”的解决办法。
TRUNCATE TABLE tablename清除表中所有信息
可使mysql的id从1开始计数
<?php
header("content-type:text/html; charset=utf-8");
$host="localhost";
$user="root";
$password="root";
$database_1="导入数据库";
$database_2="原始数据库";
百度站长平台开放url推送接口,可以使用调用接口的形式主动及时推送url给百度,下面演示在PHPCMS系统中如何使用接口自动推送URL到百度站长平台。
在PHPCMS的libs/functions/global.func.php文件中添加一个百度推送函数:
/**
* 百度站长平台链接推送
* @param $bdurls url数组
phpcms v9 里面文件在:phpcms->phpcms->lips->functions->global.func.php
修改phpcms\libs\classes下的form.class.php文件第16行的10,改成您需要的数字
找到stactics\js\swfupload\swf2select.js
修改一下函数,注意红色部分!
function submit_editor(uploadid,textareaid){
var d = window.top.art.dialog({id:uploadid}).data.iframe;
var in_content = d.$("#att-status").html();
var del_content = d.$("#att-status-del").html();
var in_name = d.$("#att-name").html(); //这行是新加的
insert2editor(textareaid,in_content,in_name,del_content)
}
首先Html调用PHP的代码为
<script type="text/javascript" src="XXX.php"></script>
PHP调用数据库输出时要使用转意符,看代码
echo "document.write('<a href=\"http://www.foshang.net\">佛商网</a>'\n);";
打开phpcms/modules/content\classes\search_api.class.php
找到 $temp['fulltextcontent'] = str_replace("'",'',$fulltextcontent); 大约60行的位置
修改为
//$temp['fulltextcontent'] = str_replace("'",'',$fulltextcontent);
//关闭内容分词的搜索索引 20151027
$temp['fulltextcontent'] = addslashes($r['title']);
很多时候,我们需要批量修改Mysql数据库前缀,直接在PHPMyAdmin中修改过于繁琐,今天提供一个快速修改的程序! 保存一下代码为php文件,修改对应的数据信息并运行。运行前一定要备份原数据库。
<?php //设置好相关信息 $dbserver='localhost';//连接的服务器一般为localhost $dbname='database';//数据库名 $dbuser='root';//数据库用户名 $dbpassword='root';//数据库密码 $old_prefix='www_miaojingyun_com_';//数据库的前缀 $new_prefix='www_foshang_net_';//数据库的前缀修改为 if ( !is_string($dbname) || !is_string($old_prefix)|| !is_string($new_prefix) ) { return false; } if (!mysql_connect($dbserver, $dbuser, $dbpassword)) { print 'Could not connect to mysql'; exit; } //取得数据库内所有的表名 $result = mysql_list_tables($dbname); if (!$result) { print "DB Error, could not list tables\n"; print 'MySQL Error: ' . mysql_error(); exit; } //把表名存进$data while ($row = mysql_fetch_row($result)) { $data[] = $row[0]; } //过滤要修改前缀的表名 foreach($data as $k => $v) { $preg = preg_match("/^($old_prefix{1})([a-zA-Z0-9_-]+)/i", $v, $v1); if($preg) { $tab_name[$k] = $v1[2]; //$tab_name[$k] = str_replace($old_prefix, '', $v); } } if($preg) { // echo '<pre>'; // print_r($tab_name); // exit(); //批量重命名 foreach($tab_name as $k => $v) { $sql = 'RENAME TABLE `'.$old_prefix.$v.'` TO `'.$new_prefix.$v.'`'; mysql_query($sql); } print 数据表前缀:.$old_prefix."<br>".已经修改为:.$new_prefix."<br>"; } else { print 您的数据库表的前缀.$old_prefix.输入错误。请检查相关的数据库表的前缀; if ( mysql_free_result($result) ) { return true; } } ?>
由于公司项目的需要,需要在项目里整合微信支付,公司原有的项目中已有老版本的支付功能,在此不作讨论。我需要作的就是加入新版本的支付功能
<< 向左走,向右走 >>