IE6,7里 li 的2像素空白下边距的解决办法

li 里有浮动对象而 li 本身不浮动的时候,IE6,IE7 里就会有2像素的下边距。

解决办法:设置 li 浮动就可以了。

也可以用 css hack 解决,但是我不太喜欢 hack。

 

phpmyadmin导入mysql 数据库错误

朋友申请了一个免费的 mysql 数据库空间做测试,今天上午就把数据库导入试试,反正导了几次都出错。错误提示:

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;

PHP utf-8和gb2312编码转换乱码的问题

经过一时间的 php + mssql,感觉 mssql 对编码的支持不是很好(其实还是自己没有把握好啦),但是又还没有来得急换数据库,只能将就点,今天又在提交数据时出现了错误。

由 于提交的 ntext 字段的内容比较多,大约有 220 KB,所以造成了我的误解,以为是文章太长而引起的错误。我一看 php 配置,发现  php 对 mssql.textsize 的支持已经在 400 K了,怎么还出错?开启错误后才发现,原来不是文章太长,而是编码引起的错误。错误如下:
Notice: iconv() [function.iconv]: Detected an illegal character in input string in...。

 英文实在太烂,只是知道 iconv() 函数出问题。google 翻译,说是输入字符串中检测到非法字符。恍然大悟。

根据错误提示到网上找到问题的解决办法,就是在 iconv() 的第二个参数加个 //IGNORE ,就是忽略错误的意思。代码如下:
iconv("utf-8", "gbk//IGNORE", $str);

测试,提交成功。

js 文件中调用其他JS文件

new_element=document.createElement("script");

new_element.setAttribute("type","text/javascript");

new_element.setAttribute("src","a.js");// 在这里引入了a.js

document.body.appendChild(new_element);

 

内容转自网易博客 ivangao

 

ecshop 会员登录后内容才可见

客户要求 ecshop 的促销活动内容会员登录才可看到,于是就改了一下模板文件

ecshop分类树显示所有分类的解决方法

ecshop分类树显示所有分类的解决方法如下:
比如在goods.php里,

 $smarty->assign('categories',         get_categories_tree());  // 分类树

大概在128行。找下就有了

将$smarty->assign('categories', get_categories_tree($goods['cat_id']));
改为$smarty->assign('categories', get_categories_tree()); 

主要就是把goods['cat_id']或得的ID去掉就可以了!

之后清缓存再看下前台,是不是已经变化了呢

注:到这里只解决了一半,还要在category.php进行一样的操作,这样在分类页也显示所有分类了。

 

还有更简单的办法就是修改 get_categories_tree 函数,是水神提醒我的。修改如下:

PHP递归函数返回值使用介绍

在 ecshop 二次开发中做产品分类索引时,要根据分类 id 取得所属顶级分类 id 。第一个反应就是用递归递出来,于是写了递归函数如下:

function getCatTopId($cat_id)
{
    if ($cat_id)
    {
        $res = Array();
        $sql = 'SELECT cat_id, parent_id'
             . ' FROM ' . $GLOBALS['ecs']->table('category')
             . ' WHERE cat_id = ' . $cat_id . ' AND is_show = 1';

        $res = $GLOBALS['db']->getAll($sql);

        if ($res[0]['parent_id'] > 0)
        {
            getCatTopId($res[0]['parent_id']);
        }
        else
        {
            return $res[0]['cat_id'];
        }
    }
    else
    {
        return 1;
    }
}

Smarty Cache Groups [缓存集合]

在不知如何清除 Smarty 中带 id 的缓存时,找到了手册中上面说明,可惜英文太差,不知所云。

在 csdn 中找到网友帖子,看完后恍然大悟。

就是在缓存页面的时候像这样:
$smarty-> display( 'basic.tpl ', "groupxxx| ".$cache_id);

然后要清这个groupxxx组下的所有缓存,则像这样:
$smarty-> clear_cache(null, "groupxxx ");

 

php + mssql 中 like 不支持中文关键字查询

今天在做模糊查询时发现在 php + mssql + utf-8 中使用了中文就无数据返回,但是把 sql 句子输出直接到查询分析器里面执行是有数据返回的。由于涉及到中文所以第一时间就想到这是编码影响的,马上把关键字换为英文字母(当然字母是在字段记录中 存在的),就有数据返回。虽然找到原因了,但是解决问题过程中我还是郁闷了半天,我明明都把它们设为 utf-8 编码了,怎么还会出现这问题呢?问题是另外一个表,字段类型跟这个表是一样的,就有数据返回。

尝试了很多方法都无解后,就直接把关键字转了编码,LIKE '%" . iconv('utf-8', 'gbk', $keywords) . "%'" ,这样就成功返回数据了。看来 php 跟 mssql 还真是门不当户不对,我遇到的问题就多多的,加油换数据库吧!

 

ecshop二次开发指南[转]

Ecshop文件结构
 
ecshop文件架构说明
/*
ECShop 2.5.1 的结构图及各文件相应功能介绍
ECShop2.5.1_Beta upload 的目录
┣ activity.php 活动列表
┣ affiche.php 广告处理文件
┣ affiliate.php 生成商品列表
┣ article.php 文章内容
┣ article_cat.php文章分类
┣ auction.php 拍卖前台文件
┣ brand.php 品牌列表
┣ captcha.php 生成验证码
┣ catalog.php 列出所以分类及品牌
┣ category.php 商品分类
┣ comment.php 提交用户评论
┣ compare.php 商品比较程序

页面

订阅阿亮php笔记 RSS