dsql使用方法步骤,7sp1评论添加字段的实现方法
分类:面向对象

dedecms5.7sp1评论添加字段的解决方法问题,问题得以解决:
实现方法如下:
1,后台:系统—SQL命令运行器 中输入:
alter table dede_feedback add column website varchar(20);
按确定执行即可。如果显示“执行一个命令”就说明添加成功了。
2,打开:feedback_ajax.php,找到:
include_once(DEDEINC.'/memberlogin.class.php');
$cfg_ml = new MemberLogin(
在其下面添加:
$website = cn_substrR($website,50);
3,找到:
$inquery = "INSERT INTO `cn_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`)
VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg'); ";
修改成:
$inquery = "INSERT INTO `cn_feedback`(`aid`,`typeid`,`username`,`arctitle`,`ip`,`ischeck`,`dtime`, `mid`,`bad`,`good`,`ftype`,`face`,`msg`,`website`)
VALUES ('$aid','$typeid','$username','$arctitle','$ip','$ischeck','$dtime', '{$cfg_ml->M_ID}','0','0','$feedbacktype','$face','$msg','$website'); ";
4,打开ajaxfeedback.htm
在需要添加字段的位置添加
<label for="url">Website</label><input id="url" name="website" value="" size="30" type="text">
找到
myajax.AddKeyN('username', nusername);
下面添加;
myajax.AddKeyN('website', f.website.value);
注:这个有2处,分别在154行和248行!

dedecms的数据库操作类,非常实用,在二次开发中尤其重要,这个数据库操作类说明算是奉献给大家的小礼物了。
 
引入common.inc.php文件

图片 1
 
代码:
{dede:sql sql="SELECT aid,username,urlindex,arctitle,url,msg FROM `dede_feedback` where ischeck=1 ORDER BY `dtime` DESC  LIMIT 0 , 30"}
[field:username runphp='yes']if(@me=='guest')@me=游客[/field:username]对<a href="[field:url/]">[field:arctitle function='cn_substr(@me,20)'/]</a>的评论<br/>
<a href="/plus/feedback.php?arcID=[field:aid/]&urlindex=[field:urlindex/]">[field:msg/]</a><br/>
{/dede:sql}
说明:
LIMIT 0 , 30  的30是调用的条数
[field:arctitle function='cn_substr(@me,20)'/] 里面的20是标题显示的字符数
至于显示的样式大家根据自己的模板进行修改吧

DEDE 5.5 的注册部分拿来用,可以用来对接其他系统和 DEDE整合
<?php
/*
只需要准备好 $userinfo = array (
"username" => "XXXX",
"password" =>"YYYYY",
"email"=> "KKKKKK",
"mtype" => "企业" ,
);
*/
$charset2 = "gbk";
$link2 = mysql_connect("host","user","password");
mysql_query("set names $charset2,$link2);

require_once (dirname(__FILE__) . "/include/common.inc.php");

$dedeuser = array(
"mtype"=>$userinfo["mtype"],
"userid"=> $userinfo[username],
"userpwd" => $userinfo[password],
"uname" => $userinfo[username],
"sex" => "0",
"email"=>$userinfo[email],
"safequestion"=>0,
"safeanswer" => '',
);
extract($dedeuser,EXTR_PREFIX_ALL,'DEDE');
//会员的默认金币
$dfscores = 0;
$dfmoney = 0;
$dfrank = mysql_fetch_assoc(mysql_query("Select money,scores From i_linkmall_cn.dede_arcrank where rank='10' ",$link2));
if(is_array($dfrank))
{
$dfmoney = $dfrank['money'];
$dfscores = $dfrank['scores'];
}
$jointime = time();
$logintime = time();
$joinip = $_SERVER["REMOTE_ADDR";
$loginip =$_SERVER["REMOTE_ADDR";
$pwd = $DEDE_userpwd;

获取一条记录的内容

$spaceSta = ($cfg_mb_spacesta < 0 ? $cfg_mb_spacesta : 0);

$row = $dsql->GetOne("Select * From dede_* where id = $aid");
echo $row['id'];

$inQuery = "INSERT INTO i_linkmall_cn.dede_member (`mtype` ,`userid` ,`pwd` ,`uname` ,`sex` ,`rank` ,`money` ,`email` ,`scores` ,
`matt`, `spacesta` ,`face`,`safequestion`,`safeanswer` ,`jointime` ,`joinip` ,`logintime` ,`loginip` )
VALUES ('$DEDE_mtype','$DEDE_userid','$pwd','$DEDE_uname','$DEDE_sex','10','$dfmoney','$DEDE_email','$dfscores',
'0','$spaceSta','','$DEDE_safequestion','$DEDE_safeanswer','$jointime','$joinip','$logintime','$loginip'); ";

将查询获取总数输出

//print $inQuery;
if(mysql_query($inQuery,$link2) or die(mysql_error()))
{
$mid = mysql_insert_id();

$row = $dsql->GetOne("select count(*) as dd where typeid = $typeid");
echo $row['dd'];//输出总数

//写入默认会员详细资料
if($DEDE_mtype=='个人')
{
$infosquery = "INSERT INTO i_linkmall_cn.dede_member_person (`mid` , `onlynet` , `sex` , `uname` , `qq` , `msn` , `tel` , `mobile` , `place` , `oldplace` ,
`birthday` , `star` , `income` , `education` , `height` , `bodytype` , `blood` , `vocation` , `smoke` , `marital` , `house` ,
`drink` , `datingtype` , `language` , `nature` , `lovemsg` , `address`,`uptime`)
VALUES ('$mid', '1', '{$DEDE_sex}', '{$DEDE_uname}', '', '', '', '', '0', '0',
'1980-01-01', '1', '0', '0', '160', '0', '0', '0', '0', '0', '0','0', '0', '', '', '', '','0'); ";
$space='person';
}
else if($DEDE_mtype=='企业')
{
$infosquery = "INSERT INTO i_linkmall_cn.dede_member_company(`mid`,`company`,`product`,`place`,`vocation`,`cosize`,`tel`,`fax`,`linkman`,`address`,`mobile`,`email`,`url`,`uptime`,`checked`,`introduce`)
VALUES ('{$mid}','{$DEDE_uname}','product','0','0','0','','','','','','{$DEDE_email}','','0','0',''); ";
$space='company';
}
else
{
$infosquery = '';
$space='person';
}
/** 此处增加不同类别会员的特殊数据处理sql语句 **/

将查询的若干条记录输出

// echo $infosquery;
mysql_query($infosquery,$link2);
//写入默认统计数据

$sql = "Select * from dede_*";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row = $dsql->GetArray()){
echo $row['id'];
echo $row['title'];
}
//或者采取这种方式输出内容

$membertjquery = "INSERT INTO i_linkmall_cn.`dede_member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`)
VALUES ('$mid','0','0','0','0','0','0','0','0'); ";
mysql_query($membertjquery,$link2);
//写入默认空间配置数据
$spacequery = "Insert Into i_linkmall_cn.`dede_member_space`(`mid` ,`pagesize` ,`matt` ,`spacename` ,`spacelogo` ,`spacestyle`, `sign` ,`spacenews`)
Values('{$mid}','10','0','{$DEDE_uname}的空间','','$space','',''); ";
mysql_query($spacequery,$link2);
}
如果是整合discuz可以参靠DEDECMS V5.5 正向整合 Discuz 6.0 (无Ucenter )

while($row = $dsql->GetObject()){
echo $row->id;
echo $row->Title;
}

将查询的若干条记录输出dedecms5

$dsql->SetQuery("Select id,typename From `dede_arctype` where reid=0 And channeltype=1 And ishidden=0 And ispart<>2 order by sortrank");
$dsql->Execute();
while($row=$dsql->GetObject())
{
   $channellist .= "<a href='wap.php?action=list&id={$row->id}'>{$row->typename}</a> ";
       echo $row->id;
}

插入一条记录

$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作

经实践证明,上面的语句不能正常插入数据库,下面是正确的语句

$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->ExecuteNoneQuery($sql);//执行SQL操作
$gid = $dsql->GetLastID();//获取刚刚插入的id

删除一条记录

$sql = "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");

更新一条记录

$upquery = "
Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);

判断获取数据库内容的常用方法

$row = $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
if(!is_array($row)){
echo "失败";
exit();
}

/////////////////////////////
$upquery = " Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}

获取总数

$dsql = new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'");
$dsql->Execute();
$ns = $dsql->GetTotalRow();

关闭数据库

$dsql->Close();

实例

<?php
/*
DedeCms 数据库使用实例说明
*/
require_once dirname(__FILE__)."pub_db_mysql.php";//引用数据库文件

//确保数据库信息填写正确
//数据库连接信息
$cfg_dbhost = 'localhost';
$cfg_dbname = 'sccms';
$cfg_dbuser = 'root';
$cfg_dbpwd = '123456';
$cfg_dbprefix = 'sc_';
$cfg_db_language = 'utf8';

//新建一个数据库操作类
$dsql = new ScSql(false);

////////////////////////////////获取一条记录的内容///////////////////////////////
//下面是获取一条记录使用实例
$row = $dsql->GetOne("Select * From dede_* where id = $aid");
//获取数据内容保存在数组$row中,通过下标可以将其调用出来
echo $row['id'];
//下面是循环调用记录
///////////////////////////////////////////////////////////////////////////////

//////////////////////////////将查询获取总数输出/////////////////////////////
//获取一个查询记录总数
$row = $dsql->GetOne("select count(*) as dd where typeid = $typeid");
echo $row['dd'];//输出总数
///////////////////////////////////////////////////////////////////////////////

//////////////////////////////将查询的若干条记录输出//////////////////////////////////
$sql = "Select * from dede_*";
$dsql->SetQuery($sql);//将SQL查询语句格式化
$dsql->Execute();//执行SQL操作
//通过循环输出执行查询中的结果
while($row = $dsql->GetArray()){
echo $row['id'];
echo $row['title'];
}
//或者采取这种方式输出内容

while($row = $dsql->GetObject()){
echo $row->id;
echo $row->Title;
}
///////////////////////////////////////////////////////////////////////////////

//////////////////////////////插入一条记录///////////////////////////////
$sql = "
INSERT INTO `dede_member_flink`(mid,title,url,linktype,imgurl,imgwidth,imgheight)
VALUES(".$cfg_ml->M_ID.",'$title','$url','$linktype','$imgurl','$imgwidth','$imgheight');";//插入记录数据库
$dsql->SetQuery($sql);//格式化查询语句
$dsql->ExecNoneQuery();//执行SQL操作
///////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////删除一条记录///////////////////////////
$sql = "Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';";
$dsql->SetQuery($sql);
$dsql->ExecNoneQuery();
//或者使用简化模式
$dsql->ExecNoneQuery("Delete From dede_member_flink where aid='$aid' And mid='".$cfg_ml->M_ID."';");
///////////////////////////////////////////////////////////////////////////////

//////////////////////////////////////更新一条记录//////////////////////////
$upquery = "
Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);

///////////////////////////////////////////////////////////////////////////////

////////////////////////////////判断获取数据库内容的常用方法///////////////////
$row = $dsql->GetOne("Select * From dede_moneycard_type where tid={$pid}");
if(!is_array($row)){
echo "失败";
exit();
}

/////////////////////////////
$upquery = " Update dede_member_flink set
title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight'
where aid='$aid' And mid='".$cfg_ml->M_ID."';
";
$rs = $dsql->ExecuteNoneQuery($upquery);
if($rs){
echo "成功";
}else{
echo "失败";
}
//////////////////////////////////获取总数//////////////////////////////////
$dsql = new DedeSql(false);
$dsql->SetQuery("Select * from `dede_admin` where userid='$userid' Or uname='$uname'");
$dsql->Execute();
$ns = $dsql->GetTotalRow();
////////////////////////////////关闭数据库///////////////////////////////////
$dsql->Close();
///////////////////////////////////////////////////////////////////////////////
?>

本文由10bet手机官网发布于面向对象,转载请注明出处:dsql使用方法步骤,7sp1评论添加字段的实现方法

上一篇:dede自带采集器的高阶技巧,dedecms专题模板应用分析及解决方案 下一篇:没有了
猜你喜欢
热门排行
精彩图文