dede
具体的实现代码,如下:下面会给简单的说明。
复制代码 代码如下:
introduce ;
return $id =$id ;
}
//结束!获取body数据
//开始!提取变量中第一个图片地址
function bodyimg($obj) {
if(isset($obj)){
if ( preg_match( , $obj, $regs ) ) { //使用正则获取第一幅图像地址
return $obj = $regs[1] ;
} else {
echo erro:没有图片地址!
;
return $obj = 1 ;
}
}
}
//结束!提取变量中第一个图片地址
//开始 修改rchives,插入获取的图像地址
function changearchives($pic,$id) {
$sql=update `dede_archives`
set `litpic` = '.$pic.'
where `id` = '.$id.';
$result=mysql_query($sql);
if($result==1) echo 修改数据成功!
;
else echo 修改数据失败!
;
}
//结束 修改rchives,插入获取的图像地址
//显示数据表内容
$exec=select * from dede_archives where typeid in(494,495,496,497,498,499,500,501,502,503,504,374,375,376,377,378,379,488) and litpic = ''; //channel='1' 即文章频道 也可以使用typeid=''
$result=mysql_query($exec); //指定栏目id但只能是最小分类的id, litpic = '' 意为缩略图地址为空
while($rs=mysql_fetch_object($result))
{
$id = $rs->id;
echo $id. ;
$body = body($id); //调用函数获取 body内容
$pic = bodyimg($body); //调用函数获取 body里面的第一张图片地址
if ($pic1){
changearchives($pic,$id); //调用函数插入获取的地址
}
}
mysql_close($conn);
?>
我也是刚刚学php 上面的代码也是东拼西凑起来的 做了详细的注释 初学者也可以来看看
因为上面的代码不能自动的获取下一级目录,所以比较手工添加目录id,常用的语句有。
$exec=select * from dede_archives where typeid in(1,2,3) and litpic = ''; //channel='1' 即文章频道 也可以使用typeid=''
上面的代码是获取typeid为 1和2和3的数据。
如果执行修改一个id可以用下面的语句
$exec=select * from dede_archives where typeid='1' and litpic = '';
如果是频道的可以用
$exec=select * from dede_archives where channel='1' and litpic = '';
注意先备份,要不就不要随便测试了,注意是 dedecms5.1的版本,其它的版本应该也适应。多测试(备份的前提下。)