当前位置:  编程技术>php
本页文章导读:
    ▪php将会员数据导入到ucenter的代码       我们要用的会员表结构 代码如下: create table if not exists `net_111cnnet` ( `id` int(11) not null auto_increment, `username` varchar(32) default null, `add_time` int(11) default null, `email` varchar(50) default null, `password` varcha.........
    ▪php 无限级数据JSON格式及JS解析       Flash需要JSON格式的数据,于是,就有了如下代码:(PHP实现,C#类似,JSON库自己去下吧~~) 代码如下: //--查询用户下线信息,返回JSON,用于flash if(!empty($_GET['action'])&&!empty($_GET['invite'])){ /.........
    ▪php下使用strpos需要注意 === 运算符       代码如下:<?php /* 判断字符串是否存在的函数 */ function strexists($haystack, $needle) { return !(strpos($haystack, $needle) === FALSE);//注意这里的"===" } /* Test */ $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $.........

[1]php将会员数据导入到ucenter的代码
    来源: 互联网  发布时间: 2013-11-30
我们要用的会员表结构
代码如下:

create table if not exists `net_111cnnet` (
`id` int(11) not null auto_increment,
`username` varchar(32) default null,
`add_time` int(11) default null,
`email` varchar(50) default null,
`password` varchar(50) default null,
`last_login` int(4) default null
primary key (`id`)
) engine=myisam default charset=utf8 auto_increment=1 ;

核心代码:
代码如下:

$host ='localhost';
$db ='abc';
$user='root';
$password ='root';
//数据库教程连接配置,由于我的ucenter表与现在的会员表在同一个数据库所以就一次连接就行了。

try {
$conn = mysql教程_connect($host,$user,$password);
mysql_select_db($db,$conn);
} catch (dbexception $e) {
exit('database connect fail!');// 数据库出错处理处
}

$sql ="select * from net_111cnnet "; //查出要导入到ucenter所有会员数据
$query = mysql_query( $sql,$conn);
while( $rs = mysql_fetch_array( $query ))
{
$uc_sql = "select * from uc_members where username='".$rs['username']."'";
$data = mysql_query( $uc_sql ) ;
if( $data )
{

}
else
{
$salt = substr(uniqid(rand()), -6);
$password = md5($rs['password'].$salt);//按照ucenter规则生成用户登陆密码

mysql_query("insert into uc_members set uid= '".$rs['id']."', username='".$rs['username']."', password='$password', email='".$rs['email']."', lastlogintime ='".$rs['last_login']."', regdate='".$rs['add_time']."', salt='$salt'"); //把数据插入到uc_members表
mysql_query("insert into uc_memberfields set uid='".$rs['id']."'");//更新uc_memberfields表。
}
}
exit('所有用户己导入到ucenter');


总结:
导入数据到ucenter与论坛,或其它 cms用户同小只要操作ucenter的两张表就行了,uc_members,uc_memberfields哦,涉及到更新的字段也不多,所以总体来讲把它系统的数据导入到ucenter进行会员同止步是很简单的。

    
[2]php 无限级数据JSON格式及JS解析
    来源: 互联网  发布时间: 2013-11-30
Flash需要JSON格式的数据,于是,就有了如下代码:(PHP实现,C#类似,JSON库自己去下吧~~)
代码如下:

//--查询用户下线信息,返回JSON,用于flash
if(!empty($_GET['action'])&&!empty($_GET['invite'])){
//固定参数请求才会返回信息
if($_GET['action']=='getinfo'&&$_GET['invite']==1){
//数据实体,一个实体类
class UcInvite{
//---显示用的数据信息
public $fuid; //用户id
public $funame; //用户名
public $furl; //用户空间地址
//---显示用的数据信息
public $fchilds; //子类集合
}
$invitecount = 0; //总数量,用于记录全部下线数量
//递归实现方法
function GetShowTreeInvite($uid){
global $_SGLOBAL,$invitecount;
//组织sql语句并查询,表中fuid是下线的id,uid是父id,fusername是用户名字
$inv_sql = "select fuid,fusername from ".tname("invite")." where uid = ".$uid;
$inv_query = $_SGLOBAL['db']->query($inv_sql);
//下表及返回数组
$index = 0;
$inviteTree = Array();
$invitezcount = 0; //每个子类下的数量
//循环添加信息到数组
while($v = $_SGLOBAL['db']->fetch_array($inv_query)){
$ui = new UcInvite();
$ui->fuid = $v['fuid'];
$ui->funame = $v['fusername'];
$ui->furl = "/home/space.php?uid=".$v['fuid'];
//调用自己,递归查询子类信息
$ui->fchilds=GetShowTreeInvite($v['fuid']);
//插入返回的数组中
$inviteTree[$index]=$ui;
$index++;
$invitecount++;
$invitezcount++;
}
//记录当前下线的下线数量
$inviteTree['invitezcount'] = $invitezcount;
//返回数组信息
return $inviteTree;
}
$fuid = empty($_GET['fuid'])?$space[uid]:$_GET['fuid'];
//根据当前登录用户ID查询信息,并返回一个集合
$inviteTree = GetShowTreeInvite($fuid);
//记录总下线数
$inviteTree['invitecount'] = $invitecount;
//引入json库,这里用的是Services_JSON
//因为并不确定服务器都是PHP5.2以上版本,所以没有用自带的JSON函数
require_once('../plugins/JSON/JSON.php');
//json输出
$json = new Services_JSON();
echo $json->encode($inviteTree);
exit;
}else{
echo '请求参数错误!';
exit;
}
}
//--查询用户下线信息,返回JSON,用于flash

以上代码返回一个JSON字符串,如:
{'0':{'fuid':'950','funame':'郭梓原','furl':'/home/space.php?uid=950','fchilds':{'invitezcount':0}},'invitezcount':1,'invitecount':1}
这里只查询了一个
接下来用JS进行以下解析:
代码如下:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
//fuid 用户ID
//funame 用户名称
//furl 用户主页地址
//invitezcount 每个用户的子类数量
//invitecount 该用户的所有下级数量
var str = "";
function GetShow(obj,qi,index){
for (var one in obj)
{
for(var key in obj[one])
{
index++;
if(key=="fchilds"&&obj[one][key]['invitezcount']!=0){
var aqi = qi;
if(index>1)aqi+="     "
GetShow(obj[one][key],aqi,index)
}
if(key != 'fchilds'){
if(key=="fuid"){
str += qi+key+"="+obj[one][key] + ",";
}else{
str += key+"="+obj[one][key] + ",";
}
if(key == "furl"){
str+="<br/>";
}
}
}
if(one=="invitezcount"||one=="invitecount"){
str+=qi+one+"="+obj[one]+"<br/>";
}
}
}
//固定参数do=charadegarden&action=getinfo&invite=1,fuid为测试时使用,不填写将调用系统当前登录的用户ID
var url = 'http://localhost/home/space.php?do=charadegarden&action=getinfo&invite=1&fuid=344';
$.get(url,function(html){
//获得json并转为对象
if(html){
var obj = eval("["+html+"]");
GetShow(obj[0],"",1)
document.write(str);
document.write("<br/><br/><br/><br/>");
document.write("<b>JSON格式:</b><br/>");
document.write(html);
}
});
</script>

这样,两个无限级的操作就完成了,结果截图:

珍惜劳动成果,虽说内容不多,可是也是一个一个字打上的,转载请注明!!关注爱拼可乐吧


    
[3]php下使用strpos需要注意 === 运算符
    来源: 互联网  发布时间: 2013-11-30
代码如下:

<?php
/*
判断字符串是否存在的函数
*/
function strexists($haystack, $needle) {
return !(strpos($haystack, $needle) === FALSE);//注意这里的"==="
}
/*
Test
*/
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);

// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
// 简单的使用 "==" 号是不会起作用的,需要使用 "===",因为 a 第一次出现的位置为 0
if ($pos === false) {
echo "The string '$findme' was not found in the string '$mystring'";
} else {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
}

// We can search for the character, ignoring anything before the offset
// 在搜索字符的时候可以使用参数 offset 来指定偏移量
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3