作者:公子
发布时间:June 2, 2011
分类:附庸风雅
之前写过一篇为你的PageCookery制作博客挂件,利用的是PageCookery的RSS制作的。今天给大家放的代码是直接读取数据库然后用js的innerhtml引用的方法,此方法适用于任何网站,甚至是HTML页面也是可以的。新分享的方法简单方便而因为读取数据库的原因是实时更新的呢!这里要感谢卜卜口の君的各种指导。
本文需要使用的文件下载:普通下载 | 115下载 | uudisc下载
注意:以上文件适合97版本以前的【不包括97版】PageCookery,如果是97版以后的请拷贝下面的代码。
下载好文件后将其解压,将widget.php和badge.php文件上传到您的PageCookery根目录下,即与config.php同级的目录。然后浏览器输入"您的PageCookery地址+/widget.php",例如我的是http://pagecookery.net/widget.php出现什么了?呵呵~上面已经有提醒了,我就不多说了。
友情提醒:通过定义script地址后面的mount的值可以控制显示的条数哦!我已经定义了许多标签,样式什么的可以尽情的发挥咯!
这里我也直接放出代码出来给那些不愿下载的孩子:
widget.php文件源代码:
| | < ?php | | require<em>once("global.php"); | | ?> | | <p>JS插件代码|复制代码到你要引用的地方 | | <textarea style="width:80%;height:80px;"><div id="pagecookery"></div> | | <script type="text/javascript" src="<?php echo BASE_URL; ?>badge.php?mount=10"></script></textarea></p> | | <p>效果预览: | | <div id="pagecookery"></div> | | <script type="text/javascript" src="<?php echo BASE_URL; ?>badge.php?mount=10"></script></p> |
|
badge.php文件源代码(适合97版本以前的PageCookery【不包括97版】):
| 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | | 11 | | 12 | | 13 | | 14 | | 15 | | 16 | | 17 | | 18 | | 19 | | 20 | | 21 | | 22 | | 23 | | 24 | | 25 |
| | <?php | | header('Content-Type:application/javascript;charset=utf-8'); | | require_once("global.php"); | | if (!isset($_GET['mount'])){ | | $_GET['mount']='10'; | | } | | ?> | | document.getElementById('pagecookery').innerHTML='< ?php | | if(ereg("^[0-9]*$",$</em>GET['mount'])){ | | $sql='SELECT * FROM entry ORDER BY time DESC LIMIT '.$<em>GET['mount']; | | $entry = $SQL->RunQuery($sql); | | echo '<style type="text/css">#pagecookery img {display:none;}</style><ul>'; | | while($item = $SQL-> FetchArray($entry)){ | | echo '<li>'; | | echo '<span clss="entry">' . get</em>username<em>by</em>id($item['userid']) . '</span>'; | | echo ':'; | | echo hFormat::ParseBBCode( htmlspecialchars($item['content'],ENT<em>QUOTES)); | | echo '<a href="' . BASE_URL .'?act=view&id=' . $item['id'] . '" target="_blank"><span class="time">' . Format::Time($item['time']) . '</span></a>'; | | echo '</li>'; | | } | | echo '</ul>'; | | }else{ | | echo '这里没有你要的东西呢'; | | } | | ?>'; |
|
badge.php文件源代码(适合97版本以后的PageCookery【包括97版】):
| 1 | | 2 | | 3 | | 4 | | 5 | | 6 | | 7 | | 8 | | 9 | | 10 | | 11 | | 12 | | 13 | | 14 | | 15 | | 16 | | 17 | | 18 | | 19 | | 20 | | 21 | | 22 | | 23 | | 24 | | 25 |
| | <?php | | header('Content-Type:application/javascript;charset=utf-8'); | | require_once("global.php"); | | if (!isset($_GET['mount'])){ | | $_GET['mount']='10'; | | } | | ?> | | document.getElementById('pagecookery').innerHTML='< ?php | | if(ereg("^[0-9]*$",$</em>GET['mount'])){ | | $sql='SELECT * FROM entry ORDER BY time DESC LIMIT '.$<em>GET['mount']; | | $entry = $db->query($sql)->result</em>array(); | | echo '<style type="text/css">#pagecookery img {display:none;}</style><ul>'; | | foreach($entry as $item){ | | echo '<li>'; | | echo '<span clss="entry">' . get<em>username</em>by<em>id($item['userid']) . '</span>'; | | echo ':'; | | echo hFormat::ParseBBCode( htmlspecialchars($item['content'],ENT</em>QUOTES)); | | echo '<a href="' . BASE_URL .'?act=view&id=' . $item['id'] . '" target="_blank"><span class="time">' . Format::Time($item['time']) . '</span></a>'; | | echo '</li>'; | | } | | echo '</ul>'; | | }else{ | | echo '这里没有你要的东西呢'; | | } | | ?>'; |
|
站外引用的代码|在"您的PageCookery地址+/widget.php"文件中有!
| | <div id="pagecookery"></div> | | <script type="text/javascript" src="您的PageCookery地址+/badge.php"></script> |
|
明眼人都看出来了吧,其实widget.php可有可无的,方便大家而已!